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

使用tweepy调用search_tweets时出现Unexpected parameter: start_time错误如何解决

问题原因

你调用的tweepy.API.search_tweets封装的是Twitter API v1.1的标准搜索接口,该接口本身不支持start_time参数,该参数是Twitter API v2专属的时间过滤参数,因此传入后会抛出未知参数报错。

解决方案
  • 方案1:继续使用v1.1版本API
    v1.1标准搜索仅支持until参数(格式为YYYY-MM-DD)筛选指定日期之前的推文,且仅能查询最近7天内的内容,无法直接指定开始时间。如果需要实现按开始时间过滤,可先获取接口返回的所有推文,再根据推文自带的created_at发布时间字段自行做二次筛选。
    示例修改代码:
    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_key, access_secret)
    api = tweepy.API(auth, wait_on_rate_limit=True)
    # 移除start_time参数,如需限制结束日期可增加until参数,例:until='2021-03-08'
    tweets = tweepy.Cursor(api.search_tweets, q=words, lang="en", tweet_mode='extended').items(25)
    
    # 二次过滤示例
    filtered_tweets = []
    from datetime import datetime
    start_time = datetime.strptime('2021-03-01T00:00:00Z', '%Y-%m-%dT%H:%M:%SZ')
    for tweet in tweets:
        if tweet.created_at >= start_time:
            filtered_tweets.append(tweet)
    
  • 方案2:切换使用Twitter API v2接口
    v2接口原生支持start_time、end_time参数,如需查询更早的历史推文需提前申请对应的API权限。
    示例修改代码:
    # 初始化v2客户端,需提前准备好Bearer Token
    client = tweepy.Client(bearer_token=your_bearer_token, wait_on_rate_limit=True)
    # v2接口使用Paginator分页
    tweets = tweepy.Paginator(
        client.search_recent_tweets,
        query=words,
        start_time='2021-03-01T00:00:00Z',
        tweet_fields=['created_at', 'lang', 'public_metrics'],
        max_results=25
    ).flatten(25)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 23:36:02