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

如何获取指定区域的推文?search_tweets传入geocode无结果该如何解决

故障原因与修复方案

核心问题:geocode参数格式不符合Twitter API要求

Twitter API要求geocode参数的格式为**纬度,经度,半径**,不能包含latitude =、longitude =这类描述性字段,半径单位支持km(公里)或mi(英里)。你原代码里的geocode参数写法完全不符合规范,是导致查不到数据的直接原因。

其他可排查的潜在问题

  • 检查代码中q=any部分:如果any不是你提前定义好的搜索关键词变量,直接写any会传入Python内置的any函数作为搜索参数,不符合API要求;如果需要无关键词搜索全量推文,改为q="*"即可。
  • search_tweets属于Twitter API v1.1的端点,仅支持查询最近7天内发布的推文,超出时间范围的内容无法检索到。
  • 只有用户发布推文时主动开启了位置标记,才会被地理检索命中,你可以适当调大半径范围提升结果数量。
  • 原代码中if new_tweets != ''的判断逻辑有误,API返回的结果是列表而非字符串,直接判断列表是否非空即可。

修正后的代码示例

# 示例:搜索坐标36.7762,3.05997周边15公里内的推文,无关键词限制
new_tweets = api.search_tweets(q="*", geocode="36.7762,3.05997,15km", count=20)
if new_tweets:
    for tw in new_tweets:
        print(tw.text)
else:
    print('no tweets found')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:27:05