You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Twitter API v2仅拉取单条最新推文?Selenium耗时疑问

解决方案

一、用Twitter API v2仅拉取最新一条推文

你当前使用的search_recent_tweets接口确实限制了max_results最小为10,要实现只拉取目标账号的最新一条推文,建议改用用户时间线接口get_users_tweets,这个接口支持将max_results设为1,且直接针对目标用户的推文列表查询,更精准也更节省API额度。

步骤如下:

  1. 先通过用户名获取用户ID(该接口需要用户ID作为参数)
  2. 调用get_users_tweets接口,指定max_results=1(默认按创建时间降序排序,即最新推文优先)

修改后的代码示例:

import tweepy

client = tweepy.Client(bearer_token=API_BEARER)

# 通过用户名获取用户ID
user = client.get_user(username=username)
user_id = user.data.id

# 拉取该用户的最新1条推文,可按需排除转发/回复
tweets = client.get_users_tweets(
    id=user_id,
    tweet_fields=['context_annotations', 'created_at'],
    max_results=1,
    exclude=['retweets', 'replies']  # 可选,仅需原创推文时保留
)

# 提取并处理最新推文
if tweets.data:
    latest_tweet = tweets.data[0]
    print(latest_tweet.text, latest_tweet.created_at)

二、Selenium/BeautifulSoup拉取耗时20秒是否正常?

这种耗时属于正常范畴,原因如下:

  • Selenium需要完整加载Twitter网页的所有资源(包括JS渲染内容、图片、广告、追踪脚本等),Twitter网页本身加载速度不算快,加上反爬机制可能会增加延迟
  • Twitter对网页端非API请求有严格的限流和反爬策略,可能会故意减慢响应速度,甚至触发验证码,进一步拉长请求时间

如果想用网页抓取方式提速,可尝试:

  • 在Selenium中禁用图片、CSS和非必要JS加载,减少资源请求量
  • 但整体来说,官方API仍是高频请求场景下最稳定可靠的方案

内容的提问来源于stack exchange,提问作者rapha21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 00:45:59