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

如何用snscrape按OR逻辑抓取指定标签列表的推文?

使用snscrape按OR逻辑抓取多标签推文

要实现按OR逻辑抓取自定义标签列表的推文,核心是构建符合Twitter搜索语法的查询字符串,再用snscrape执行抓取,具体步骤如下:

1. 构建OR逻辑的搜索查询

Twitter的搜索语法里,OR逻辑必须用大写的OR,带空格的标签(比如data analytics)需要用双引号包裹,确保搜索的是完整短语。我们可以通过字符串拼接快速生成查询:

  • 遍历你的标签列表,给每个标签加上双引号
  • 用OR把所有带引号的标签连接起来

2. 执行抓取

用snscrape的TwitterSearchScraper传入构建好的查询,就能获取包含任意指定标签的推文。如果需要结合你已经会用的位置、特定短语等条件,直接把对应的搜索语法追加到查询后面即可(多个条件默认是AND逻辑)。

完整代码示例

import snscrape.modules.twitter as sntwitter

# 自定义标签列表
hashtags = ('data analytics', 'data science', 'machine learning')

# 生成OR逻辑的搜索查询
search_query = ' OR '.join([f'"{tag}"' for tag in hashtags])

# 可选:追加位置/短语等其他条件(比如限制伦敦5英里范围内)
# search_query += ' near:"London" within:5mi'

# 抓取前100条推文(可自行调整数量)
for idx, tweet in enumerate(sntwitter.TwitterSearchScraper(search_query).get_items()):
    if idx >= 100:
        break
    # 打印推文内容,也可保存日期、作者ID等字段
    print(f"推文{idx+1}: {tweet.content}")

说明

  • 生成的查询字符串是"data analytics" OR "data science" OR "machine learning",符合Twitter的搜索规则,能匹配包含任意一个、多个或全部标签的推文。
  • 如果你的标签是单个单词(比如datascience),可以不用加双引号,但带空格的标签必须加,否则会被拆分成独立关键词搜索。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 23:45:37