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

如何使用snscrape按位置搜索推文?查询语句需添加哪些内容?

使用snscrape按位置搜索推文的方法

问题解答

1. 如何使用snscrape工具按位置搜索推文?

在snscrape中,只需在Twitter搜索查询字符串中加入位置筛选条件,再传入TwitterSearchScraper执行查询,即可实现按位置抓取推文。

2. 需在搜索查询语句中添加哪些内容?

有两种常用的位置筛选格式可直接添加到查询语句中:

  • 地点名称+范围:用near:"地点名称" within:范围格式,范围支持mi(英里)或km(公里)单位,例如near:"Rio de Janeiro" within:5km
  • 地理坐标+范围:用geocode:纬度,经度,半径格式,同样支持mi或km单位,例如geocode:-22.9068,-43.1729,10km(对应里约热内卢的坐标)

修改后的代码示例

import snscrape.modules.twitter as sntwitter
keyword = '(COVID OR Corona Vírus)'
maxTweets = 30
tweets = []

# 方式1:使用地点名称+范围
search_query = keyword + ' since:2020-01-01 lang:pt near:"São Paulo" within:10km'

# 方式2:使用地理坐标+范围(可替换上方的search_query)
# search_query = keyword + ' since:2020-01-01 lang:pt geocode:-23.5505,-46.6333,10km'

for i,tweet in enumerate(sntwitter.TwitterSearchScraper(search_query).get_items()) :
    if i >= maxTweets :  # 修正原代码逻辑:原i>maxTweets会多抓取一条,改为i>=更准确
        break
    tweets.append([tweet.sourceLabel, tweet.location])  # 可额外添加tweet.location查看推文关联位置

print(tweets)

注:原代码中if i > maxTweets的逻辑存在小问题,当i等于maxTweets时会多抓一条,建议调整为i >= maxTweets。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 04:10:35