Twitter Intel

Polar Sponsor
爱发电 赞助
.NET 9.0

通过 GraphQL 实现 Twitter 关键词搜索、监控及趋势分析

Twitter Intel — 关键词搜索和趋势监视器.

功能概述

Twitter Intel — 关键词搜索和趋势监视器.是一项面向实际任务的技能,主要用于Search Twitter 以关键词标注,收集高参与度的微博,分析一段时间的趋势,并生成结构化的报告.;Powered by rnet twitter.py.。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Twitter Intel — 关键词搜索与趋势监控

按关键词搜索 Twitter,采集高互动推文,分析时间维度上的趋势变化,并生成结构化报告。底层由 rnet_twitter.py 提供 GraphQL 搜索能力(无需浏览器自动化)。

架构设计

阶段 1:按需搜索(用户触发)
  用户输入 “search OpenAI on twitter” → 执行搜索 → 过滤结果 → 生成报告

阶段 2:关键词监控(定时任务驱动)
  配置文件定义关键词 → 定时执行搜索 → 与上一次运行结果比对 → 发现新增高互动推文即触发告警

阶段 3:趋势分析(按需或每周执行)
  聚合已保存的搜索结果 → 按周分组 → 检测话题演变 → 生成叙述性分析报告

前置依赖

# 安装 rnet(支持 TLS 指纹模拟的 Rust HTTP 客户端)
pip install "rnet>=3.0.0rc20" --pre

# 必需文件:
# 1. rnet_twitter.py — 轻量级异步 Twitter GraphQL 客户端
#    获取地址:https://github.com/PHY041/rnet-twitter-client
# 2. twitter_cookies.json — 你的认证 cookies
#    格式示例:[{"name": "auth_token", "value": "..."}, {"name": "ct0", "value": "..."}]
#    获取方式:Chrome DevTools → Application → Cookies → x.com
#    Cookies 有效期约 2 周;若遇到 403 错误,请及时刷新。

请将环境变量 TWITTER_COOKIES_PATH 设置为你本地 cookies 文件的路径。

阶段 1:按需搜索

当用户输入类似 “search [keyword] on twitter”、“twitter intel [topic]” 或 “find tweets about [X]” 时触发:

步骤 1 — 执行搜索

import asyncio, os
from rnet_twitter import RnetTwitterClient

async def search(query, count=200):
    client = RnetTwitterClient()
    cookies_path = os.environ.get("TWITTER_COOKIES_PATH", "twitter_cookies.json")
    client.load_cookies(cookies_path)
    tweets = await client.search_tweets(query, count=count, product="Top")
    return tweets

搜索模式说明:

模式 product= 适用场景
高互动模式 "Top" 发现具有影响力的推文,用于内容深度分析
实时模式 "Latest" 追踪突发讨论、实时舆情监控

常用 Twitter 搜索操作符:

操作符 示例 效果
lang:en OpenAI lang:en 仅限英文推文
since: / until: since:2026-01-24 until:2026-02-24 限定日期范围
-filter:replies OpenAI -filter:replies 仅返回原创推文(排除回复)
min_faves:N min_faves:50 设定最少点赞数(仅在 Latest 模式下生效)
from: from:karpathy 指定作者账号
"exact" "AI agent" 精确匹配短语

步骤 2 — 过滤与增强

原始搜索完成后,进一步筛选高质量推文:

filtered = [
    t for t in tweets
    if keyword.lower() in t["text"].lower()
    and (t["favorite_count"] >= 10 or t["retweet_count"] >= 5)
    and not t["is_reply"]
]

步骤 3 — 生成报告

输出结构化摘要:

## Twitter Intel: [keyword]
**时间范围:** [date range] | **共发现推文:** N | **过滤后保留:** N

### 互动最高的推文(按互动量排序)
1. @author(X 点赞,Y 转发,Z 展示量)— 发布时间
   “推文正文……”
   [链接]

### 核心话题
- 话题 1:[描述](N 条推文)
- 话题 2:[描述](N 条推文)

### 重要作者
| 作者 | 粉丝数 | 本批次推文数 | 总互动量 |

阶段 2:关键词监控(Cron 定时任务)

配置文件

{
  "monitors": [
    {
      "id": "my-product-en",
      "query": "MyProduct lang:en -filter:replies",
      "product": "Top",
      "count": 100,
      "min_likes": 10,
      "alert_threshold": 100,
      "enabled": true
    }
  ]
}

状态文件

{
  "my-product-en": {
    "last_run": "2026-02-24T12:00:00Z",
    "last_tweet_ids": ["id1", "id2"],
    "total_collected": 450
  }
}

Cron 工作流

  1. 读取配置文件 → 遍历所有启用的监控项
  2. 对每个监控项:
    • 调用 search_tweets(query, count, product) 执行搜索
    • 依据 min_likes 进行初步过滤
    • 与状态文件中的 last_tweet_ids 对比 → 仅提取新增推文
    • 若任意新增推文的 favorite_count >= alert_threshold → 立即发出告警
    • 将所有新增推文写入当日文件:{monitor_id}/YYYY-MM-DD.json
    • 更新状态文件
  3. 如有值得关注的新推文,则发送汇总通知

阶段 3:趋势分析

当用户输入 “analyze twitter trend for [keyword]” 或 “twitter trend report” 时触发:

  1. 加载指定 {monitor_id}/ 目录下所有已保存的每日 JSON 文件
  2. 将推文按自然周进行分组
  3. 对每一周,提取以下信息:
    • 该周推文总数 + 总互动量
    • 点赞数 Top 5 的推文
    • 主导性话题(使用 LLM 自动归类)
    • 新出现的重要作者
    • 情感倾向变化
  4. 逐周生成连贯的叙事性分析报告

命令对照表

用户输入 Agent 行为
/twitter-intel [keyword] 执行搜索 + 过滤 + 报告(Top 模式,200 条推文)
/twitter-intel "[phrase]" --latest 以 Latest 模式执行搜索
monitor "[keyword]" on twitter 将关键词添加至监控配置
twitter intel status 显示所有启用中的监控项及其最近运行时间
twitter trend report [keyword] 分析历史存储数据,生成趋势叙事报告
refresh twitter cookies 引导用户完成 cookies 刷新流程

技术备注

  • SearchTimeline 接口必须使用 POST 请求(GET 将返回 404)—— 此逻辑已由 rnet_twitter.py 内部封装处理
  • GraphQL 查询 ID 会定期轮换—— 若搜索返回 404,请重新从 https://abs.twimg.com/responsive-web/client-web/main.*.js 中提取最新 ID
  • 速率限制:约 300 次请求 / 15 分钟窗口。每页返回约 20 条推文,获取 200 条推文需约 10 次请求;因此每 4 小时运行一次 cron 是安全的。
  • Cookies 有效期:auth_token 约 2 周过期。请留意 403 错误并及时刷新。

相关专题

更多
OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

0

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

0

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

0

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

0

15

Revel框架MVC路由与控制器
Revel框架MVC路由与控制器

本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。

2026.10.16

0

15

Revel框架入门与安装配置
Revel框架入门与安装配置

本专题从Revel框架环境搭建讲起,系统介绍命令行工具安装、项目创建、目录结构、配置文件及热代码重载,帮助开发者快速完成首个Go Web应用。

2026.10.16

0

15

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

2026.10.15

0

20

MySQL 忘记密码怎么办
MySQL 忘记密码怎么办

MySQL忘记密码专题汇集不同版本与系统下的root密码重置方法,覆盖MySQL 5.7、8.0、Mac、Linux及本地集成环境,并提示恢复权限与重新登录的检查步骤。

2026.10.15

0

18

Vue.js 中 ref 和 reactive 的区别
Vue.js 中 ref 和 reactive 的区别

Vue.js中ref和reactive的区别专题汇集两种响应式API的定义、访问方式、对象解构、侦听与性能取舍等文章,帮助结合实际状态类型选择合适写法。

2026.10.15

0

20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
麦子学院bootstrap入门视频教程
麦子学院bootstrap入门视频教程

共32课时 | 10.5万人学习

黑马程序员bootstrap视频教程
黑马程序员bootstrap视频教程

共23课时 | 7.7万人学习

李炎恢bootstrap视频教程
李炎恢bootstrap视频教程

共26课时 | 10.9万人学习