vscode를 사용할 때에는 파일을 분리하여서 관리를 하고 import로 쉽게 사용을 해었습니다. 그런데 주피터 노트북을 사용하다보니 .ipynb 파일을 다시 .py 파일로 만들어서 사용하는 방식으로 사용했었는데요. 찾아보니 .ipynb 파일 역시 import 하는 방법이 있었습니다. 먼저 pip install import_ipynb를 해주세요. 그 다음 jupyter notebook 주피터 노트북에서 내가 필요한 파일을 import 해줍니다. test.ipynb에 my_math.ipynb 파일을 import 해보겠습니다. my_math.ipynb 에는 sum 함수를 하나 추가해두었습니다. 그러면 이제 내가 원하는 파일에 ipynb 파일을 import 해보겠습니다. 먼저 import import_ipyn..
셀레니움을 이용해서 웹브라우저 자동화를 만들때에 예상치 못합 팝업창이 떠서 내가 생각한 자동화 로직이 깨질때가 있습니다. 이럴 때는 팝업창을 감지해서 팝업창을 닫아줘야 합니다. 요즘은 팝업창이 자주 발생하지는 않지만 새로운 팝업창 감지는 WebDriverWait와 expected_conditions를 통해서 알 수 있습니다. 해당 기능을 통해서 페이지의 로딩, 경고창 등 역시 감지 할 수 있습니다. 먼저 새로운 팝업을 알아내려면 이전까지의 브라우저 handles을 알아야 합니다. 팝업이란 것 역시 새로운 창 handle이기 때문입니다. browser = webdriver.Chrome(ChromeDriverManager().install()) tabs = browser.window_handles 이렇게 하..
일반적으로 기록을 남기지 않기 위해서 시크릿모드를 사용하곤 합니다. 자동화 기능을 만들때에도 혹시 모르니 시크릿모드로 실행을 시켜 줍시다. 파이썬 셀레니움에서 크롬, 파이어폭스 사용시 시크릿모드, 사생활 보호 창 키는 법입니다. from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from webdriver_manager.firefox import GeckoDriverManager 먼저 셀레니움과 웹드라이버를 import합니다. 파이어폭스 브라우저를 실행하려면 GeckoDriverManager가 필요합니다. chrome_options = Options() chrome_options.add_argumen..
처음 Python을 찾아 본 이유는 웹 크롤링을 해보기 위해서 였습니다. 지금 웹 스크래핑을 먼저 배우고 있는데요. 크롤링? 스크래핑? 그놈이 그놈 같은 이 기분을 해소하기 위해서 개념을 알아보려고 합니다. 웹 크롤링, 스크래핑의 개념 많은 사람들이 웹 페이지에서 필요한 정보를 긁어서 수집하는걸 웹 크롤링이라고 생각합니다. 저도 이렇게 이해를 하고 있었는데요. 이게 명확한 표현은 아닙니다. 정확한 내용을 이해하려면 개념을 파악해야 합니다. Web Scraping(웹 스크래핑)이란? 웹 사이트 상에서 원하는 부분의 위치한 데이터를 추출하여 수집하는 기술. Web crawling(웹 크롤링)이란? 자동화 봇(bot)인 웹 크롤러(web crawler)가 정해진 규칙에 따라 복수 개수 웹 페이지를 브라우징하는..