如何使用Python自动获取指定Twitter推文的图片源地址并实现下载
Python获取指定X(原Twitter)推文图片直链的可行方案
方案1:官方API调用(最稳定,适合长期使用)
这是容错率最高的方案,不会轻易被平台反爬拦截:
- 首先注册X开发者平台账号,创建应用后获取API密钥、访问令牌等身份凭证
- 执行
pip install tweepy安装第三方封装库Tweepy - 调用接口时传入目标推文的数字ID(即示例推文URL中status/后的1102112466283175936字段),指定获取媒体附件扩展字段,返回结果中photo类型媒体的url字段即为可直接访问的pbs.twimg.com图片直链
方案2:静态页面爬取(无需开发者账号,实现简单)
适合轻量使用场景,不需要申请开发者权限:
- 用requests库请求目标推文的公开页面,请求头中添加常规浏览器的User-Agent字段避免被拦截
- 用正则匹配或者BeautifulSoup解析返回的页面源码,提取所有符合
https://pbs.twimg.com/media/[唯一标识]?format=jpg&name=large格式的链接即可,示例匹配正则为r'https://pbs\.twimg\.com/media/[a-zA-Z0-9_-]+\?format=jpg&name=large' - 多图推文会匹配到多个对应顺序的图片链接,可直接用于下载或嵌入仪表盘
方案3:无头浏览器渲染(兼容性最高,应对反爬)
如果静态爬取被反爬拦截,可以用该方案:
- 用Selenium或Playwright启动无头浏览器访问目标推文地址
- 等待页面加载完成后,直接定位页面中的图片元素,提取src属性后筛选pbs.twimg.com域名下的资源链接即可
- 该方案可以模拟真实用户访问行为,兼容性最好,缺点是运行速度相对较慢
提示:所有操作需要遵守X平台的使用规范和robots协议,控制请求频率避免触发IP封禁。
内容的提问来源于stack exchange,提问作者Youcef B
相关产品推荐
相关产品推荐

