我最近不得不从需要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有关吗? 或者我应该尝试另一个包登录?
我将不胜感激任何帮助。 非常感谢
答案 0 :(得分:1)
处理此问题的一种简单方法是使用Selenium Web浏览器,可以使用python进行控制。这样,它将像您的Web浏览器一样工作,并将为您管理所有cookie和一切。有了它,你还可以显示javascript。