[Selenium] Selenium 설치 / 크롤링 명령어 정리
파이썬으로 크롤링을 구현한다면 가장 많이 사용하는 selenium.
Selenium 설치부터 실제 사용까지의 과정을 설명하도록 하겠다.
1. pip install selenium
파이썬이 미리 설치되어있다면 이 명령어 하나로 충분하다.
2. Chrome webdriver 다운로드
2-1. 크롬 버전 확인
크롬 옆에 점 3개를 누르고 도움말에서 Chrome 정보를 눌러 자신의 Chrome 버전을 확인한다.
2-2. 크롬 드라이버 설치
아래 링크를 클릭하여 자신의 크롬 버전과 맞는 크롬 드라이버를 설치한다.
https://chromedriver.chromium.org/downloads
그럼 이제 selenium을 사용할 준비가 완료되었다!
3. import 문으로 selenium 불러오기
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
selenium에서 webdriver를 import 해온다.
그 다음 이를 불러온다.
webdriver.exe를 실행시키는 코드의 폴더와 같은 폴더 안에 넣어야 이 코드가 실행된다.
아니면 webdriver.exe의 경로를 webdriver.Chrome()의 괄호 안에 넣어주어야 한다.
4. url 실행하기
url = '크롤링하고자 하는 사이트 url'
driver.get(url)
driver.get(url) 명령어로 url을 실행할 수 있다.
5. 페이지의 element에 접근하기
driver.find_element(By.XPATH,'XPATH 경로')
driver.find_element(By.CSS_SELECTOR,'SELECTOR 경로')
driver.find_element(By.CLASS_NAME,'CLASS 명')
driver.find_element로 해당 페이지의 단일 요소에 접근할 수 있다.
개발자도구를 켜고(F12) 크롤링하고자 하는 요소를 선택한다. 그 다음 오른쪽 마우스를 눌러서
XPATH, SELECTOR를 선택하여 그 요소의 경로를 확인할 수 있다.
driver.find_elements(By.CLASS_NAME,'')
find_elements를 사용하면 그 class_name을 가지는 여러 개의 요소를 리스트 형태로 반환한다.
6. 그 외의 다양한 명령어
driver.back()
페이지 뒤로 가기
star = driver.find_element(By.XPATH,'XPATH 경로')
s = star.get_attribute("class");
get_attribute를 이용하면 그 요소의 class 명, id 명을 가져올 수 있다.
star = driver.find_element(By.XPATH,'XPATH 경로')
star.click()
그 요소를 클릭한다.
url = driver.current_url
현재 url을 가져온다.
import time
time.sleep(3)
3초를 기다린다.
크롤링 시 페이지 로딩이 되지 않았는데 그 요소를 찾으려고 할 경우 에러가 나기 때문에
time.sleep()으로 잠시 기다리는 시간을 주는 것이 좋다.
+) 추가
크롤링 시에 에러가 많이 발생할 때가 있다.
그 에러가 발생하면 코드가 실행을 멈추기 때문에 이를 방지하기 위해
try, except문을 사용하여 예외처리를 해주어야 한다.