用途:通过 CDP 在 X(Twitter)上执行搜索,并提取结构化结果,每条包含 author、handle、text、url、time 五个字段。
主要能力:支持快速搜索与指定结果数量,可输出美化文本或原始 JSON;每次调用会创建独立标签页与 WebSocket 会话,可并行使用;结果数量超过约 6 条时会自动滚动加载更多推文。
使用方式:需将 browser-harness-js 放在 PATH 中,且浏览器会话已登录 X。常用命令:xsearch "your query"(最多 10 条)、xsearch "your query" 5(5 条)、xsearch --json "your query" 3(原始 JSON)。并行示例:xsearch "rust async" 3 & xsearch "go channels" 3 & wait。也可通过 browser-harness-js 直接打开某条推文 URL 提取内容,流程为 connect、createTarget、attachToTarget、Page.enable、Page.setLifecycleEventsEnabled、先挂起 networkIdle 等待再 Page.navigate,随后等待约 4 秒 React 水合,再用 Runtime.evaluate 查询 DOM。
适用场景:需要以脚本方式批量获取 X 搜索结果或单条推文内容,并希望得到结构化数据的自动化流程。
限制:必须登录 X,未登录会跳转登录墙;networkIdle 在 React 渲染推文前触发,需额外等待约 4 秒;结果数可能少于请求数;长推文文本可能被截断,仅提取未点击“Show more”时可见的内容;每个新标签页都必须同时调用 Page.enable 与 Page.setLifecycleEventsEnabled,否则 networkIdle 等待会超时;networkIdle 等待超时为 30 秒。其余收费、平台支持等信息暂未提供。