본문 바로가기

main/Python

파이썬 크롤링 하기 Selenium 셀레니움 사용법

진짜 오랜만에 파이썬 켜서 이것저것 많이 검색하면서 했다 ㅎㅎ

셀레니움도 설치부터 문법까지 다 찾아보면서 함

 

셀레니움 설치

pip install selenium

나는 pip 사용했기 때문에 pip install 했지만 conda의 경우도 똑같이 하면 된다고 한다.

 

웹드라이버 설치

셀레니움을 사용하기 위해서는 브라우저별 selenium webdriver를 다운로드 해야 한다.

 

먼저 구글 크롬의 버전을 확인한다.

크롬의 오른쪽 상단 점 땡땡땡을 눌러 도움말 -> Chrome 정보에 들어간다.

이 업데이트 오늘은 좀 해야겠다... 매번 미루던 중

무튼 나의 크롬 버전은 99.0.4844.74 였다.

 

 

ChromeDriver - WebDriver for Chrome - Downloads

Current Releases If you are using Chrome version 101, please download ChromeDriver 101.0.4951.15 If you are using Chrome version 100, please download ChromeDriver 100.0.4896.60 If you are using Chrome version 99, please download ChromeDriver 99.0.4844.51 F

chromedriver.chromium.org

여기에서 99.0.4844.51을 받아서 .exe 파일만 내 파이썬 파일과 동일한 경로에 이동시켜 줬다.

완전히 동일한 버전은 없어서 비슷한 숫자로 했는데 완전 다른 버전 받으니까 작동 안 되더라.

 

 

코드 작성하기

import selenium
from selenium import webdriver

URL = 'https://improvisation.tistory.com/'

options = webdriver.ChromeOptions()
options.add_argument('headless')  # 새 창 띄우지 않는 옵션

driver = webdriver.Chrome(executable_path='chromedriver', options=options)
driver.get(url=URL)

셀레니움을 import 해주고

webdriver를 통해 드라이버를 로드하여 drive에 넣어주고

driver를 통해 원하는 곳의 데이터를 크롤링해올 수 있다.

 

 

Finding web elements

Locating the elements based on the provided locator values.

www.selenium.dev

셀레니움 공식 문서의 Finder 부분이다.

vegetable = driver.find_element(By.CLASS_NAME, "tomatoes")

특정 element의 class name, id, tag name 등으로 조회할 수 있는데

나는 이걸로 충분한 작업이었기 때문에 이것만 사용했다.

부모형제자식태그도 찾을 수 있고 크롤링 기법은 많으니 필요에 따라 사용하면 된다.