用途
该技能用于在 Threads 上按关键词或话题标签搜索帖子,并从页面服务端渲染(SSR)嵌入的 JSON 中提取搜索结果,返回带互动指标的匹配帖子列表。当用户提出搜索 Threads 帖子的需求时使用。
主要能力
- 关键词搜索:按普通关键词检索 Threads 帖子。
- 话题标签搜索:使用相同 URL 模式,在关键词前加 # 前缀(URL 编码为 %23)进行话题标签搜索。
- 排序过滤:支持 top(默认,最相关/热门)与 recent(按时间最新)两种排序。
- 结果字段:每条帖子返回内部 ID(pk)、短代码(code)、URL、正文文本(无文案时为 null)、创建时间戳(taken_at)、点赞数、直接回复数、转发数、引用数、是否为回复、媒体类型(1=图片,2=视频,8=轮播,19=纯文本)、是否含媒体,以及作者信息(pk、用户名、全名、是否认证)。
- 输出语言:所有面向用户的流程输出(进度更新、流程通知)遵循用户语言。
使用方式
前置条件:浏览器已打开并通过 browser-act 连接;公开搜索结果无需登录。
执行前检查:若当前会话已确认 browser-act 可用则跳过;否则通过 Skill 工具调用 browser-act 加载用法,若出现安装或配置问题按其指引解决后重试。
操作边界:该技能的操作边界等于用户在浏览器中可手动完成的操作,仅读取页面上已向用户展示的数据。JS 代码封装在 scripts/ 目录下的 Python 文件中,通过 eval "$(python scripts/xxx.py {params})" 调用,建议使用 bash 工具执行。
关键词搜索步骤:
- 导航至 https://www.threads.com/search/?q={keyword}&serp_type={filter},其中 {keyword} 为 URL 编码的搜索词或话题标签(如 AI 或 %23AI 表示 #AI),{filter} 为 top(默认)或 recent。
- 等待页面稳定(wait stable)。
- 执行 eval "$(python scripts/extract-search-results.py '{keyword}' --filter {filter})"。
话题标签搜索步骤:使用相同 URL 模式,关键词前加 #,例如 %23AI 表示 #AI;执行 eval "$(python scripts/extract-search-results.py '#AI' --filter top)"。关键词参数中的 # 前缀仅用于标注,Threads 实际使用 URL 编码 %23 来识别话题标签搜索。
枚举参数:filter 取值 top(最相关/热门帖子)或 recent(最新帖子优先),通过 --filter 参数和 serp_type URL 参数设置。
错误处理:若返回 error: true,检查搜索页是否正确加载(验证 URL 含查询参数);若未找到 searchResults,页面可能未渲染 SSR 数据,重试一次导航并等待稳定;若 count: 0,表示没有匹配该关键词的帖子。
成功标准:result.count >= 1 且 result.posts[0].id != null 且 result.posts[0].user.username != null。
执行效率建议:批量编排时可在单个会话内用 bash 脚本串行循环关键词,搜索间隔 1-2 秒;更高吞吐可将关键词分配到多个并行浏览器会话。批量执行前先用 1-2 个关键词测试。每个关键词都需要重新导航到搜索 URL(搜索参数已写入 URL)。按关键词保存结果,失败时从断点恢复。
经验记录:路径为 {working-directory}/browser-act-skill-forge-memories/threads-scraper-threads-keyword-search.memory.md。执行前若文件存在应先读取,其中记录了过去执行中遇到的意外情况;执行后若遇到意外情况(策略失效、页面改版、反爬升级、发现更优路径),追加一行:{YYYY-MM-DD}: {发生了什么} → {结论}。正常执行不写入该文件,也不记录使用了哪些关键词或返回多少结果(这些是任务输出而非经验)。
适用场景
- 检索 Threads 上特定关键词或 #话题标签相关的公开帖子。
- 需要获取帖子的互动指标(点赞、回复、转发、引用)进行分析。
- 需要按热门或最新排序查看搜索结果。
限制
- 未登录访问:不支持分页,每个关键词约返回 17-18 条结果。
- 不支持通过 URL 参数进行日期过滤;需在提取后按 taken_at(Unix 时间戳)在客户端过滤。
- 私密账号的帖子可能出现在搜索结果中,但其完整内容可能受限。
- 搜索索引可能不包含非常新的帖子(存在数分钟到数小时的延迟)。