如何在python中使用Beautifulsoup和Requests来抓取Twitter用户关注者?

时间:2018-01-23 17:25:03

标签: python session twitter beautifulsoup request

我正试图抓住名人的推特粉丝。但我无法获得所需的数据。我无法使用请求登录Twitter。我尝试了一些代码。

    import requests
from bs4 import BeautifulSoup

 payload={   "session[username_or_email]":"**********@gmail.com",
"session[password]":"****************",
"authenticity_token":"************",
"ui_metrics":'{"rf":{"a78f48eaa010bb984c59cd3a407b880cb4567ac8a19754298475d1b69af8f825":-40,"ae42c829ba1baf0e72bad0350609e797ad3e34cd4ca71d5d7d996e4f37b0583a":222,"a93a62f3ecdad0b170abe01c18bd28a4e93aa819f1fffa0680f52dafd2bd0c27":-138,"a03b033ba773faf2e2f3e2befad0612296aeb8ffc2cc5b2b35b99f855698f07a":-81},"s":"d9bgNWsxqGpvE1MK7WoIaZDYdF24drlt-5xdktyALQ1mGMpcrwQSoAmrhlE20PQsyUSJRC9Y82EWey-gmkrbH_0s2qInOWRnwto8Fih-VMbwGMr-RfbhXrM3zXDzEJmXV16JPzR4vKaA664j4MTIYgiqBxH5EXhheBjBIFIMzZIMAjyiltBLn27m6ZuCUSuO0o50Kj5X9Npu-3PqVyFUoTEuaFsiZm73XZoDuKhwFnbj65MLrwuGGkjD2mJaTfqAkL1Ecdm7tp84A22GDXH8RYtzTGehoqdUeqaDDq6g2DOU72kGpPBgpmWE-d-5HCEfxFRXO-rircZCwlN9_d53QAAAAWEmNWDl"}',
"scribe_log":"",
"redirect_after_login":"",
"authenticity_token":"**************",
"remember_me":"1"}

res = requests.get("https://twitter.com/login",data=payload)
soup = BeautifulSoup(res.text,"lxml")
print(soup.prettify())
for item in soup.find_all(class_="title"):
    print(item.text)

如何使此代码有效?请帮我解决一下这个。 注意:我不想使用API​​。请帮我解决这个问题。

更新 我修改了有效载荷部分,当我执行它时,我得到空的结果。当我调试它时,调试器立即终止。

1 个答案:

答案 0 :(得分:0)

检查网络选项卡,控制台或日志以获取HTTP响应状态并发布。

更好的是,使用调试器遍历代码并检查响应对象以获取代码和/或消息。

在这里发布以获得更多帮助。

如果您不想使用REST API,那么您的挑战将是模拟脚本中的浏览器请求。分享为什么你不想使用REST API?

祝你好运。

响应OP评论更新:

立即终止是什么意思?在代码的第一行中设置断点并逐行逐步执行。什么是响应代码? 200? 400? 300?梳理调试器中的响应对象以获取线索。 REST API已记录在案,因此如果您需要的指导是一个很好的起点,同时保持比完整的SDK更多的灵活性。

您从哪里获得这些请求参数?是什么让你认为他们会产生预期的反应?