2017-11-30 1 views
0

최근 트위터 로그인이 필요한 사이트에서 일부 파이썬 웹 스크래핑을 수행해야했습니다. 내가 예상했던대로 아주 똑바로 아니었고 많은 문제가 발생했습니다.파이썬에서 트위터 로그인이 필요한 웹 사이트의 스크랩

데이터를 스크랩하려고합니다. https://www.scoutzen.com/twitter-lists/search?page=1&q=luxury 그리고 트위터에 연결되어있을 때만 결과에 액세스 할 수 있습니다. 그래서 나는 파이썬으로 트위터에 로그인 한 다음 원하는 웹 사이트에 요청을 보내려고했다. 내 코드 이하 는 :

session_requests = requests.session() 
result = session_requests.get("https://twitter.com/login") 


authenticity_token= 
list(set(tree.xpath("//input[@name='authenticity_token']/@value")))[0] 


payload = { 
    'action': 'login', 
'session[username_or_email]': '[email protected]', 
'session[password]': 'pass', 
'authenticity_token': authenticity_token 
} 

result = session_requests.post("https://twitter.com/login", data = payload, 
headers = dict(referer = "https://twitter.com/login")) 

# Scrape url 
result = session_requests.get("https://www.scoutzen.com/twitter-lists/search? 
q=luxury", headers = dict(referer = "https://www.scoutzen.com/twitter- 
lists/search?q=luxury")) 

print(result.text) 

나는 트위터에서 로그가 성공을 수행되었음을 확인,하지만 난 웹 사이트 www.scoutzen.com 여전히 로그인이 필요한 것을 깨달았다.

쿠키와 관련이있을 수 있습니까? 다른 패키지를 사용해도 로그인해야합니까?

아무쪼록 부탁드립니다. 많은 감사

답변

1

이 문제를 해결하는 쉬운 방법은 Python으로 제어 할 수있는 Selenium 웹 브라우저를 사용하는 것입니다. 그렇게하면 웹 브라우저처럼 작동하며 모든 쿠키와 모든 것을 관리합니다. 그것으로 당신은 또한 자바 스크립트를 표시 할 수 있습니다.

확인 Selenium Starter Guide

+0

안녕 후안이 제안을 주셔서 감사합니다. 문제는이 프로세스가 파이썬으로 만든 애플리케이션의 일부이며 많은 사용자가이 프로세스를 사용해야한다는 것입니다. 웹 사이트가 로그인과 암호를 요구하기 시작할 때까지 완벽하게 작동했습니다. –

+0

불편을 끼쳐 드려 죄송합니다. Selenium은 파이썬 용 브라우저입니다. 사용상 문제가 없습니다. – WooWapDaBug

+0

방금 ​​Selenium을 시험해 보았습니다. 요청을 보내기 시작했을 때 완벽하게 작동했지만 여러 번 로그인 한 후에 웹 사이트가 나를 금지 한 것처럼 보입니다. 물론, 자동 로그인을 허용하지 않습니다 .... 이전에이 문제가 발생 했습니까? 많은 감사합니다 –

관련 문제