X 长推文与趋势,按原顺序完整归档
在你自己已登录的浏览器里逐步读取长推文、提及和趋势搜索,让每条推文保留它的位置、正文和外链。
- X 企业版 (需企业版 Operator 构建)
- 长推文
- 趋势搜索
业务痛点
现在卡在哪里
API 比工作本身还贵
X 的付费 API 按平台级用量定价,不适合每周只跟踪几条长推文和提及的营销团队。
长推文丢失结构
长推文把回复嵌套在主贴下。只抓可见内容的脚本会把不同分支的推文混在一起,分不清谁回复了谁。
滚得太快,推文就没了
时间线会回收 DOM 节点:滚出视野的推文会被移除。一次大跳会跳过从未渲染的整段内容。
Operun 怎么解决
为什么用 Operun 更稳
小步滚动,每步都读
act scroll 每次只移动一段固定的适中距离,每次之后都用 snapshot --text 读取,推文在被回收前就已读到。
读取前先 wait_element
wait_element 确认下一批推文已渲染再运行快照,加载慢不会变成推文串里无声的缺口。
干净的正文和外链
正文快照把每条推文的正文、作者、时间和外链返回为纯文本行,按推文链接去重并保持原顺序。
- 01
打开推文串
在你已登录的浏览器里把长推文、提及搜索或趋势查询切到前台。
- 02
小步滚动
Operun 滚动一段固定的适中距离,让 X 渲染下一批推文且不跳过。
- 03
等待并读取
wait_element 确认推文已渲染,再用正文快照读取。
- 04
合并并导出
按推文链接合并各次读取,保持原顺序,写入 JSON 和表格。
动手跑一遍
这套方案背后的 Operun 命令
运行环境:企业级 Operator 专版
# Operator 专版:x.com 不在商店版域名白名单内
operun browser activate --tab 17
operun browser act --action wait_element --tab 17 --selector "article[data-testid=tweet]" --timeout 8000
operun browser snapshot --tab 17 --text # 继续滚动前先读取
operun browser act --action scroll --tab 17 --direction down --amount 1200 [
{ "action": "wait_element",
"selector": "article[data-testid=tweet]", "timeout": 8000 },
{ "action": "snapshot", "mode": "content" },
{ "action": "scroll", "direction": "down", "amount": 1200 }
] 仅限授权使用:仅用于从你本人已授权的账号,或公开且已获许可的来源导出数据,并遵守平台条款。仅用于经授权的社媒监听与公开推文研究,只读取你本来就能浏览的内容,并遵守 X 服务条款。只保留研究所需的数据。
输入与产出
你给什么,拿到什么
需要准备
-
来源
长推文链接、提及搜索或趋势关键词
-
滚动步长
每次像素数,例如 1200 px × 15 次
-
保存目录
本地文件夹或 NAS 路径
交付结果
-
推文串文件
JSON:推文、作者、时间、正文、外链、顺序
-
提及表
CSV / XLSX:查询词、推文链接、正文、时间
-
外链清单
CSV:每条推文中的外部链接
效果
省下来的时间看得见
$0
读取你能打开的页面所需的 API 费用
1
每次滚动后读一次,不漏内容
40k
每次快照可读取的 token
以上为实际项目中的典型结果,具体效果取决于店铺数量和流程范围。