inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

현존 최강 크롤링 기술: Scrapy와 Selenium 정복

실전 크롤링: 브라우저를 제어해서 다양한 데이터 가져오기

트위터 페이지 변경 후 코드

228

kim jeongho
0

## 브라우저를 제어해서 트위터 사이트 로그인 하기
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

chromedriver = 'D:\WebDriver\chromedriver.exe'
headless_options = webdriver.ChromeOptions()
headless_options.add_argument('headless')
headless_options.add_argument('window-size=1920x1080')
headless_options.add_argument("disable-gpu")
headless_options.add_argument("User-Agent:  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36")
headless_options.add_argument("lang=ko_KR")
# driver = webdriver.Chrome(chromedriver, options=headless_options)
driver = webdriver.Chrome(chromedriver)

driver.get('https://twitter.com/')

# 트위터 버튼 클릭하기
time.sleep(3)
login_btn = driver.find_element_by_xpath('//a[@href="/login"]')
login_btn.click()

# 아이디/비밀번호 입력하기
time.sleep(3)
id_input = driver.find_element_by_css_selector('#react-root > div > div > div.css-1dbjc4n.r-13qz1uu.r-417010 > main > div > div > div.css-1dbjc4n.r-13qz1uu > form > div > div:nth-child(6) > label > div > div.css-1dbjc4n.r-18u37iz.r-16y2uox.r-1wbh5a2.r-1wzrnnt.r-1udh08x.r-xd6kpl.r-1pn2ns4.r-ttdzmv > div > input')
id_input.clear()
id_input.send_keys('id')

password_input = driver.find_element_by_css_selector('#react-root > div > div > div.css-1dbjc4n.r-13qz1uu.r-417010 > main > div > div > div.css-1dbjc4n.r-13qz1uu > form > div > div:nth-child(7) > label > div > div.css-1dbjc4n.r-18u37iz.r-16y2uox.r-1wbh5a2.r-1wzrnnt.r-1udh08x.r-xd6kpl.r-1pn2ns4.r-ttdzmv > div > input')
password_input.send_keys('password')
password_input.send_keys(Keys.ENTER)

time.sleep(6)
driver.quit()

2021.05 기준으로 트윗 페이지

크롤링은 위 코드 참고하시면 좋을 것 같습니다.

send_keys('id') 부분에 id 넣고

send_keys('password') 부분에는 비번 넣으시면 됩니다.

(* 크롬 웹드라이버 경로 설정도 본인 것에 맞게 설정하셔야합니다.) 

답변 0