Coding Memo
BeautifulSoup와 Selenium을 이용한 web crawling - 0 본문
※ 이 글은 '웹 크롤러 대마왕' 관련 강의를 듣고 메모한 내용이다.
BeautifulSoupt 라이브러리(module)
설치: pip install beautifulsoup4
웹 상에서 html의 내용을 가져올 수 있는 기능을 제공하는 라이브러리로, HTML parser이명 XML 문서도 파싱할 수 있다. 안드로이드에서 사용했던 jsoup으로 html, xml, json을 파싱하는 것과 비슷한 것 같다.
https://www.crummy.com/software/BeautifulSoup/
Selenium & Web driver
웹을 crawling 하기 위해서는 셀레니움도 설치를 하고, 셀레니움을 이용하기 위해 필요한 웹 브라우저의 드라이버도 다운을 받는다. (나는 크롬을 주로 사용하기 때문에 chrome 다운에 대한 링크만 걸어놓겠다.)
설치: pip install selenium
chrome web driver
https://chromedriver.chromium.org/downloads
주의: 현재 자신의 크롬 버전에 맞는 드라이버 버전을 선택해야한다. (버전 차이가 많이 나면 파이썬 실행시 에러가 나타난다.), 크롬이 최신버전이면 드라이버도 최신버전을 사용해도 될 것 같다.
다운을 받은 후 압축을 풀면 chromedriver.exe 라는 파일이 하나 있는데 이 실행 파일을 불러와서 크롤링을 할 것이므로, 파이썬 코딩시에 불러오기 쉽게 파일 위치를 변경해주자.
나는 이번 크롤링을 실행할 파이썬 코드가 있는 위치에 옮겨놓았다.
필요한 설치 및 파일 준비는 여기까지이다. (파이썬 실행환경은 기본! - 나는 anaconda를 이용했다.)
웹 페이지 자동 오픈 테스트
from selenium import webdriver
path = "(생략)Jupyter/chromedriver/chromedriver.exe"
driver = webdriver.Chrome(path)
driver.get("https://google.com")
selenium 모듈에서 webdriver를 import 한 후, 드라이버 실행 파일을 webdriver의 Chrome으로 불러온다.
로드한 driver의 get 함수를 호출하여 인자로 받은 url로 웹 페이지를 연다.
상단에 'Chrome이 자동화된 테스트 소프트웨어에 의해 제어되고 있습니다' 라는 문구가 있는 것을 확인 할 수 있다.
다음 글은 검색을 하여 결과를 추출 해내고 파일로 저장 하는 단계까지 해보겠다.
'Language > Python' 카테고리의 다른 글
Twitter Crawling (tweepy) (0) | 2021.02.24 |
---|---|
Haar Matrix 만들기 (0) | 2020.12.29 |