首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Twitter不再使用请求库python

Twitter不再使用请求库python
EN

Stack Overflow用户
提问于 2020-06-04 03:21:44
回答 3查看 1.4K关注 0票数 5

我有一个python函数,它使用请求库和BeautifulSoup来抓取特定用户的tweet。

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup

contents = requests.get("https://twitter.com/user")
soup = BeautifulSoup(contents.text, "html.parser")

当requests库访问Twitter时,它使用遗留版本的Twitter。然而,由于Twitter最近放弃了对其遗留版本的支持,requests库不再工作,并返回html代码,表明此版本的Twitter已过时。

有没有办法让requests库访问更新版本的Twitter?

EN

回答 3

Stack Overflow用户

发布于 2020-06-27 06:58:27

requests库将访问您传递给它的URL。我建议检查Twitter API Docs并更新您的代码,使其与最新版本相对应。

票数 0
EN

Stack Overflow用户

发布于 2020-07-11 15:20:27

不能直接回答(也没有足够的观点来评论),但是有同样的问题,我找到了一些新的工具。https://github.com/bisguzar/twitter-scraper使用requests_html来获取tweet(参见其tweets.py模块)。https://github.com/Mottl/GetOldTweets3/是另一个用于抓取tweet的强大python工具。

票数 0
EN

Stack Overflow用户

发布于 2021-02-18 02:19:18

我也遇到过这个问题。造成这种情况的根本原因是Twitter拒绝了“传统”浏览器,不幸的是,它包含了Python的请求库。

Twitter通过查看作为请求的一部分发送的User-Agent头来判断您使用的是哪种浏览器。所以我对这个问题的解决方案就是简单地欺骗这个头。

在你的特殊情况下,试着这样做:

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup

contents = requests.get(
    "https://twitter.com/user",
    headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36"}
)
soup = BeautifulSoup(contents.text, "html.parser")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62181047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档