Python Crawling (Selenium ..)

Variety_·2021년 9월 8일
0

Data Analysis

목록 보기
1/10

Python Crawling (Selenium ..)


  • 웹크롤링을 할 때 가장 많이 쓰이는 Selenium에 관하여 다뤄본다

  • 크롤링을 할 때 가장 많이 들어본 라이브러리는 BeautifulSoup일 것이다, 요즘은 JS로 동적구현을 한 사이트들이 많은데 BeautifulSoup은 동적인 동작을 실행해서 크롤링 할 수 없다. 즉, 딱 해당 url에 나타나있는 글자만 긁어온다.

    이 때 Selenium을 사용한다면

    1. JS가 동적으로 만든 데이터 크롤링이 가능하다
    2. 다양한 HTML element에 클릭 등 이벤트 적용이 가능하다.

설치 및 불러오기

환경에 따라서 pip install selenium 또는 conda install selenium로 설치한다.

selenium를 사용한 크롤링을 위해서는 추가로 크롬브라우저를 제어하기 위해 크롬드라이버를 설치해야한다

https://chromedriver.chromium.org/downloads 에 자신의 크롬 버전에 맞는 드라이버를 설치한다.

자신의 크롬버전은 우측상단에 점세개 -> 도움말 -> 크롬정보에서 확인가능하다. 자신에게 해당하는 버전을 받아준다.

받은 파일은 파이썬파일이 생성되는 곳에 저장해준다.

사용법

  1. import 및 경로설정
from selenium import webdriver

driver=webdriver.Chrome('./chromedriver.exe')
# 위의 드라이버를 파이썬파일이 생성되는 곳과 같은곳에 저장하였으면 이렇게 작성하고 아니면 웹드라이버가 저장되어 있는 절대경로로 작성한다.
  1. 웹페이지 열기
driver.get(target_url)
  1. event 에 관하여

driver.find_element_by_xpath(xpath값).click()

driver.find_element_by_name(사용할 엘리먼트).send_keys(사용할 엘리먼트)

등으로 이벤트를 발생시킬 수 있다. 사용할 엘리먼트는 ctrl+shift+c를 이용해 해당 엘리먼트를 찾거나 개발자도구(F12)->선택을 이용해 찾을 수 있다.

+후에 추가예정

0개의 댓글