来自需要使用Python登录Twitter的网站的废料

时间:2017-11-30 14:52:40

标签: python twitter web-scraping

我最近不得不从需要Twitter登录的网站上执行一些python网页抓取。这不像我预期的那么直接,而且我遇到了很多问题:

我试图从https://www.scoutzen.com/twitter-lists/search?page=1&q=luxury中删除数据 只有当我连接到twitter时,我才能访问结果。所以我尝试用python登录twitter,然后将请求发送到我想要的网站。 在下面我的代码:

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]': 'mail@gmail.com', 
'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)

我检查了Twitter中的日志是否成功执行,但我意识到网站www.scoutzen.com仍需要登录。

它可能与cookie有关吗? 或者我应该尝试另一个包登录?

我将不胜感激任何帮助。 非常感谢

1 个答案:

答案 0 :(得分:1)

处理此问题的一种简单方法是使用Selenium Web浏览器,可以使用python进行控制。这样,它将像您的Web浏览器一样工作,并将为您管理所有cookie和一切。有了它,你还可以显示javascript。

检查Selenium Starter Guide