728x90
from selenium import webdriver
driver = webdriver.Chrome('chromedriver')
driver.get("https://nid.naver.com/nidlogin.login")
naver_login = driver.find_element_by_id("id")
naver_login.clear()
naver_login.send_keys("naver_id")
naver_login = driver.find_element_by_id("pw")
naver_login.clear()
naver_login.send_keys("naver_pw")
이번 글에서는 Python Selenium을 이용하여 크롤링 하는 법을 알아보려고 한다.
Selenium은 웹 브라우져를 컨트롤하여 자동화할 수 있는 도구이다.
Selenium 설치법
pip install selenium
pip을 이용하여 selenium을 설치한다. selnium은 특별하게 pip으로 설치해야할 뿐만 아니라 드라이버를 설치해주어야 한다. 드라이버는 브라우저마다 다르며 다음 사이트에서 다운받을 수 있다.
- Firefox : https://github.com/mozilla/geckodriver/releases
- Chrome : https://sites.google.com/a/chromium.org/chromedriver/downloads
- Edge : https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
필자는 chrome을 사용하기 때문에 Chromedirver를 다운받았다.
참고로 설치된 브라우저에 맞는 드라이버를 다운받아야 한다. 자신의 브라우저 버전을 모르는 경우에는 설정에서 확인 할 수 있다.
설정 -> Chrome 정보 -> 버전 확인
84.0.4147 버전이므로 크롬 드라이버 사이트에서 해당하는 버전을 다운받는다.
다운을 받고 압축은 파이썬 코드가 위치할 폴더에 풀어준다.
이제 설치는 다 되었으니 코드를 작성해보도록 하겠다.
from selenium import webdriver
driver = webdriver.Chrome('chromedriver')
driver.get("https://nid.naver.com/nidlogin.login")
naver_login = driver.find_element_by_id("id")
naver_login.clear()
naver_login.send_keys("naver_id")
naver_login = driver.find_element_by_id("pw")
naver_login.clear()
naver_login.send_keys("naver_pw")
프로그램을 실행시키면 다음과 같이 자동으로 naver_id 와 naver_pw를 쳐준다.
로그인 버튼을 누르는 방법은 xpath를 이용하여 만들 수 있다.
로그인 버튼에 대한 xpath는 개발자도구를 이용하여 얻을 수 있다.
xpath를 얻었으면 다음과 같은 코드를 추가해준다.
xpath = """//*[@id="frmNIDLogin"]/fieldset/input"""
driver.find_element_by_xpath(xpath).click()
728x90
'ETC > Python' 카테고리의 다른 글
Window 10 PyQt5 설치 및 사용하는 방법 (1) | 2020.08.13 |
---|---|
Python Naver Login 보안문자(캡챠) 우회, 피하기 (0) | 2020.08.11 |
파이썬 엑셀 읽고 쓰기 (Python Excel Read / Write) (0) | 2020.07.28 |
파이썬 exe 파일 만들기 + 자동으로 꺼지는 현상 해결 (0) | 2020.07.26 |
Python을 이용해서 Email 보내기 (1) | 2020.07.23 |