반응형
Notice
Recent Posts
Recent Comments
Link
지구정복
[Python] 리눅스CentOS 7에서 파이썬으로 웹 크롤링하기 4 (selenium - 네이버 로그인하기) 본문
데이터 엔지니어링 정복/Python
[Python] 리눅스CentOS 7에서 파이썬으로 웹 크롤링하기 4 (selenium - 네이버 로그인하기)
eeaarrtthh 2021. 5. 17. 13:10728x90
반응형
아래처럼 네이버 로그인url에 접속한 뒤 name태그를 이용해서 값을 넣어준다.
그리고 로그인 버튼은 xpath값을 가져와서 click()이벤트를 실행한다.
아래와 같이 코드를 작성한다.
#https://nid.naver.com/nidlogin.login
from selenium import webdriver
from bs4 import BeautifulSoup
driver = webdriver.Chrome('chromedriver')
driver.get('https://nid.naver.com/nidlogin.login')
driver.implicitly_wait( 300 )
#//*[@id="log.login"]
driver.find_element_by_name('id').send_keys('hoeeyz')
driver.find_element_by_name('pw').send_keys('*********')
driver.find_element_by_xpath('//*[@id="log.login"]').click()
근데 이를 실행하면 자동입력방지한다고 아래처럼 페이지가 나온다.
따라서 이를 피하기 위해서 다른 방법으로 로그인을 해야한다.
클립보드에 아이디와 비번을 복사했다가 붙여넣는 방식을 이용한다.
그리고 리눅스 centos의 경우 pyperclip을 설치하기 전에 xclip을 먼저 설치해줘야 한다.
리눅스에서 pyperclip 라이브러리를 설치한다.
[root@localhost ~]# yum install xclip -y
[root@localhost ~]# pip3 install pyperclip
그리고 이클립스 pydev에서 기존 python Interpreters를 지웠다가 다시 불러온다.
아래 코드대로 실행하면 된다. 아이디 비밀번호는 각자거 입력
#https://nid.naver.com/nidlogin.login
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import pyperclip
from bs4 import BeautifulSoup
import time
driver = webdriver.Chrome('chromedriver')
driver.get('https://nid.naver.com/nidlogin.login')
driver.implicitly_wait( 300 )
#//*[@id="log.login"]
# driver.find_element_by_name('id').send_keys('hoeeyz')
# driver.find_element_by_name('pw').send_keys('***********')
# driver.find_element_by_xpath('//*[@id="log.login"]').click()
input_id = driver.find_element_by_name('id')
input_pw = driver.find_element_by_name('pw')
input_id.clear()
time.sleep(3)
#id 입력
input_id.click()
pyperclip.copy('hoeeyz')
driver.find_element_by_name('id').send_keys(Keys.CONTROL, 'v')
time.sleep(1)
#pw입력
input_pw.click()
pyperclip.copy('***********')
driver.find_element_by_name('pw').send_keys(Keys.CONTROL, 'v')
time.sleep(1)
driver.find_element_by_xpath('//*[@id="log.login"]').click()
근데 첫 로그인은 무조건 자동방지가 뜨는 것 같다.
처음에는 수동으로 직접 로그인해주고 로그아웃한다음에 코드 실행하면 로그인이 잘 된다. ㅎㅎ
728x90
반응형
'데이터 엔지니어링 정복 > Python' 카테고리의 다른 글
[python] 파이썬3.8.5에 numpy모듈 버전 맞지 않는다고 뜰 때 (2) | 2021.08.31 |
---|---|
[Python] Linux CentOS 7에 파이썬3.9버전 설치하기 (3) | 2021.05.31 |
[Python] 리눅스CentOS 7에서 파이썬으로 웹 크롤링하기 3 (selenium - 트위치 영상 다운로드하기) (0) | 2021.05.17 |
[Python] 리눅스CentOS 7에서 파이썬으로 웹 크롤링하기 2 (selenium- css태그) (0) | 2021.05.17 |
[Python] 리눅스CentOS 7에서 파이썬으로 웹 크롤링하기 (selenium - 유튜브 검색하기) (0) | 2021.05.16 |
Comments