카테고리 없음

Selenium 셀레니움 입문

look-sun 2021. 10. 3. 13:03
pip install selenium

작년 이맘 때에 Django, Scraping 등에 관심을 갖고 공부했었는데, 다시 Scraping에 관심이 생기어서 셀레니움을 공부하게되었다.

파이썬을 스크랩핑을 할 때 우리에게는 선택지가 몇 가지 있다.

1. urllib

2. requests module

3. selenium

셀레니움은 urllib, requests와는 다르게 브라우저이기에 조금(?) 더 편리한 면이 있는 것 같아서 시작하려고 한다.

추가로 셀레니움이 지원하는 언어는 C#, Ruby, Java, Python, JavaScript 등으로 꽤나 여러가지인데, (물론 속도가 빠르다고 하기는 어렵지만) 데이터 분석에서 많이 쓰이고, 내가 가장 잘 알고, 제일 쉬운 파이썬으로 하려고 한다.

다운로드 할 때에는 pip, conda 모두 가능하다.

pip install selenium

위의 코드로 파이썬 모듈을 설치하였으면 이제, 브라우저 드라이버를 설치해야한다.

https://www.selenium.dev/documentation/getting_started/installing_browser_drivers/#quick-reference

 

Installing browser drivers

Setting up your browser to be automated.

www.selenium.dev

여기서 자신의 브라우저에 맞는 드라이버를 설치하면 된다. 이때 설치하는 위치를 기억해 두어야 한다. 왜냐하면 스크랩핑을 할 때 이 위치를 기입하여 드라이버를 실행해야하기 때문이다.

드라이버를 설치할 때에는 자신이 기존에 사용하던, 또는 스크랩핑에 사용할 브라우저의 버전을 잘 확인한 뒤 그에 맞는 버전의 드라이버를 설치하여야 한다.

내가 사용하는 크롬의 경우에는 오른 쪽 위에 있는 점 3개를 누른 뒤 설정에 들어가서 왼쪽의 chrome정보를 누르면 버전이 나온다.

이제 준비가 다 된 것 같다.

간단히 실행해보자.

from selenium.webdriver import Chrome
from time import sleep

# 아까 다운로드한 드라이버의 위치를 path라는 변수에 담는다.
path = 'C:/Users/looksun/PycharmProjects/scraping/chromedriver.exe'
# 드라이버를 사용하기 위하여 1번 줄에서 불러온 Chrome 드라이버 지원 모듈에 우리가 다운로드한 드라이버의 위치가 담긴 path를 넣어준다. 
driver = Chrome(executable_path=path)
# 인스타그램의 홈페이지에 접속한다.
driver.get('https://www.instagram.com/')

# 그냥 10초 기다리기
sleep(10)
# 7번 줄에서 열은 driver를 닫는다.
driver.close()

아마 브라우저가 열리고 10초가 지나면 다시 닫힐 거다. 그 사이에는 인스타그램 홈페이지에 들어갔을 거고.

질문있으면 물어봐라. 물론 나도 잘 모를거다