[참고] 실전크롤링: xpath와 selenium 활용해서 페이스북 로그인하기
587
작성한 질문수 7
강의 제목 - 실전크롤링: xpath와 selenium 활용해서 페이스북 로그인하기
강의 동영상 6:46 에서
1. xpath 선택자 부분이 바뀌었습니다.
기존코드
login_button = "//*[@id=''u_0_d]"
바뀐코드
login_btn = "//*[@id='u_0_d_1n']"
2. 기존 동영상 강의 코드 그대로 하면 크롤링이 안됩니다.
문제가 되는 부분 ------------
email_id = "//*[@id='email']"
password_id = "//*[@id='pass']"
login_button = "//*[@id='u_0_d_1n']"
email_tag = WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH, email_id)))
password_tag = WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,password_id)))
login_button_tag = WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,login_button)))
xpath와 WebDriverWait 부분이 문제가 되는 것 같습니다.
바꾼 전체 소스 코드 -------------
다음과 같이 바꾸니 크롤링이 되었습니다.
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
time.sleep(2)
driver.get('https://www.facebook.com')
time.sleep(5)
my_id = '7005425@gmail.com'
my_pwd = '칠공공5425'
email = driver.find_element_by_id('email')
password = driver.find_element_by_id('pass')
login_btn = driver.find_element_by_name('login')
email.clear()
email.send_keys(my_id)
time.sleep(2)
password.clear()
password.send_keys(my_pwd)
time.sleep(2)
login_btn.click()
답변 1
0
알려주셔서 감사합니다. 올해내로 시간이 조금 된다면, 결국 외부 사이트는 다 싹 제 개인 사이트를 크롤링하는 것으로 만들어야할 것 같습니다. 워낙 수시로 바뀌어서요. 심지어 정부 Open API 도 바뀌다보니 ㅎㅎ
button 의 id 가 사실 매번 해당 사이트를 오픈할 때, 각자의 PC나 IP등등에 따라 달라지는 것 같습니다. 궁리 끝에, name 속성은 변경되지 않으므로 다음과 같이 변경하였고, 관련 영상의 자료도 다음과 같이 코드에 설명을 붙여놓았습니다.
# 2021.02.28 수정 : (수업자료에도 반영해놓았습니다.)
# 웹사이트 변경으로, 영상에서 시연한 "//*[@id='u_0_b']" 등으로는 id 가 매번 변경되어, 선택이 되지 않습니다.
# 따라서 변경되지 않은 button 의 name 속성을 사용해서 "//*[@name='login']" 으로 변경합니다.
login_button = "//*[@name='login']"
감사합니다.!!!
코딩을 잘 따라 한 것 같은데 오류가 발생하는 것 같습니다
0
624
1
scrapy를 jupyter 환경에서 할 수 있나요
0
358
1
[실전 크롤링: scrapy 크롤링 팁] 질문있습니다.
0
311
1
[실전 크롤링: 지마켓 크롤링하며, scrapy 실전 활용법 익히기1] 5분50초쯤 질문
0
220
1
[강력/최신 크롤링 기술: Scrapy 로 지마켓 크롤링하기1] 관련 질문
0
277
1
xml을 parsing할때 <을 < 로 인식합니다.
0
333
1
pipelines.py에서 process_item내에서 print문이 작동을 하지 않네요 ㅠ
0
291
3
PhantomJS 문의
0
292
1
selenium 문의
0
328
1
브라우저 제어해서 크롤링하기 - 처음강의 마지막부분 문의
0
3002
1
on error 해결 방법 질문
0
355
1
[팁] 윈도우 cmd 커맨드
0
346
1
[팁]Chrome User Agent 아는법
0
326
1
실전 크롤링: 브라우저를 제어해서 트위터 사이트 로그인 하기 질문
0
253
1
동영상 강의 만드실 때 사용한 툴을 알려주실 수 있을까요?
0
235
1
CSS Selector 에서 질문이 있습니다.
0
434
2
pip install scrapy 오류
0
481
1
셀레니움 실행불가
0
1576
1
실전 크롤링: XPATH와 Selenium 활용해서 페이스북 로그인 하기 에서 질문이 있습니다.
0
225
1
언제 get_text()를 사용하고 또 언제 .text를 사용하나요?
0
285
1
강의교안자료 받을수있을까요?
0
261
1
[강의 9:27관련 질문] price, title 열 위치
0
158
1
div에 있는 클래스가 2개이면 어떻게 하나요?
0
365
1
css 셀렉터에 대해 질문이 있습니다.
0
144
1





