Coding Memo

BeautifulSoup와 Selenium을 이용한 web crawling - 0 본문

Language/Python

BeautifulSoup와 Selenium을 이용한 web crawling - 0

minttea25 2021. 7. 30. 13:36

※ 이 글은 '웹 크롤러 대마왕' 관련 강의를 듣고 메모한 내용이다.


BeautifulSoupt 라이브러리(module)

 

설치: pip install beautifulsoup4

 

웹 상에서 html의 내용을 가져올 수 있는 기능을 제공하는 라이브러리로, HTML parser이명 XML 문서도 파싱할 수 있다. 안드로이드에서 사용했던 jsoup으로 html, xml, json을 파싱하는 것과 비슷한 것 같다.

 

https://www.crummy.com/software/BeautifulSoup/

 

Beautiful Soup: We called him Tortoise because he taught us.

 

www.crummy.com


Selenium & Web driver

 

웹을 crawling 하기 위해서는 셀레니움도 설치를 하고, 셀레니움을 이용하기 위해 필요한 웹 브라우저의 드라이버도 다운을 받는다. (나는 크롬을 주로 사용하기 때문에 chrome 다운에 대한 링크만 걸어놓겠다.)

 

설치: pip install selenium

 

chrome web driver

https://chromedriver.chromium.org/downloads

 

ChromeDriver - WebDriver for Chrome - Downloads

Current Releases If you are using Chrome version 93, please download ChromeDriver 93.0.4577.15 If you are using Chrome version 92, please download ChromeDriver 92.0.4515.43 If you are using Chrome version 91, please download ChromeDriver 91.0.4472.101 For

chromedriver.chromium.org

주의: 현재 자신의 크롬 버전에 맞는 드라이버 버전을 선택해야한다. (버전 차이가 많이 나면 파이썬 실행시 에러가 나타난다.), 크롬이 최신버전이면 드라이버도 최신버전을 사용해도 될 것 같다.

 

다운을 받은 후 압축을 풀면 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