用途
fetch-tweet 用于在给定推文/X 链接时,直接抓取推文内容。它借助 fxtwitter API 返回结构化 JSON,无需 JavaScript 渲染,也无需身份验证。
为什么使用 fxtwitter
X/Twitter 需要 JavaScript 才能渲染推文,对 x.com 使用 WebFetch 只会返回空壳。fxtwitter API(api.fxtwitter.com)以纯 JSON 形式提供相同的推文数据——无需认证、无需 JS,在合理使用范围内没有速率限制方面的困扰。
URL 转换
给定任意推文 URL,将其转换为 fxtwitter API 端点:
输入 URL 模式与 API URL 的对应关系:
https://x.com/<user>/status/<id> → https://api.fxtwitter.com/<user>/status/<id>
https://twitter.com/<user>/status/<id> → https://api.fxtwitter.com/<user>/status/<id>
https://fxtwitter.com/<user>/status/<id> → https://api.fxtwitter.com/<user>/status/<id>
https://vxtwitter.com/<user>/status/<id> → https://api.fxtwitter.com/<user>/status/<id>
从输入 URL 中提取 <user> 和 <id>,然后构造 https://api.fxtwitter.com/<user>/status/<id>。
如何抓取
使用 WebFetch 访问转换后的 API URL:
WebFetch(url: "https://api.fxtwitter.com/<user>/status/<id>", prompt: "Extract the tweet JSON. Return: author name, handle, tweet text, date, media URLs (if any), likes, retweets, replies, views.")
响应结构
fxtwitter API 返回的 JSON 结构如下:
{ "code": 200, "message": "OK", "tweet": { "url": "https://x.com/user/status/123", "text": "The tweet content...", "author": { "name": "Display Name", "screen_name": "handle" }, "created_at": "Thu Jan 30 12:00:00 +0000 2026", "likes": 1000, "retweets": 500, "replies": 200, "views": 50000, "media": { "photos": [...], "videos": [...] } } }
使用方式
当收到推文 URL(x.com、twitter.com、fxtwitter.com 或 vxtwitter.com)时:
-
解析 URL,提取用户名和推文 ID
-
转换为 https://api.fxtwitter.com/<user>/status/<id>
-
使用 WebFetch 以该 API URL 抓取
-
以可读格式呈现推文内容:
Author Name (@handle) — Date
"Tweet text here"
Engagement: X views, Y likes, Z retweets, W replies
如果推文包含媒体(照片/视频),则附上相应 URL。
错误处理
如果 fxtwitter 返回非 200 状态,推文可能已被删除或账号已被封禁。
如果 URL 不匹配任何已知的推文 URL 模式,则向用户询问有效的推文链接。