关于 twitter-scraping
面向 X 数据采集的技能,提供 Node.js 抓取器、浏览器控制台脚本和交互式工具箱,可采集个人资料、帖子、关注列表及搜索内容,并导出数据。
主要功能
- 01采集个人资料、关注者和关注对象
- 02抓取帖子、话题、串文和媒体
- 03提供 Node.js API 与浏览器脚本
- 04交互面板支持筛选和控制
- 05导出 JSON、CSV 等格式
- 06内置 MCP 抓取工具
适用场景
- 01整理指定用户的帖子和资料
- 02收集搜索结果或话题帖子
- 03导出关注者、书签或媒体数据
- 04通过 Agent 调用 X 抓取功能
MCP 相关
提供 MCP 服务,向 AI Agent 暴露个人资料、关注者、帖子、搜索、串文和视频链接抓取工具。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nirholas/ xactions --skill twitter-scraping安装后在 Claude Code 中输入/twitter-scraping确认已加载。
附带文件references/scraper-details.md
详细介绍
Twitter 抓取
身份验证设置
所有抓取工具都需要从 x.com 获取 auth_token Cookie(开发者工具 -> 应用程序 -> Cookie -> 复制 auth_token 值)。
Node.js 抓取器 API
npm install xactions -- 包含 src/scrapers/index.js 中的所有函数。
import { createBrowser, createPage, loginWithCookie, scrapeProfile } from 'xactions';
const browser = await createBrowser();
const page = await createPage(browser);
await loginWithCookie(page, AUTH_TOKEN);
const profile = await scrapeProfile(page, 'nichxbt');
await browser.close();
| 函数 | 用途 |
|---|---|
scrapeProfile(page, username) | 用户资料(简介、粉丝数、关注数) |
scrapeFollowers(page, username, {limit}) | 粉丝列表 |
scrapeFollowing(page, username, {limit}) | 关注列表 |
scrapeTweets(page, username, {limit}) | 用户的推文 |
searchTweets(page, query, {limit}) | 搜索结果 |
scrapeHashtag(page, tag, {limit}) | 话题标签推文 |
scrapeThread(page, tweetUrl) | 主题串推文 |
scrapeMedia(page, username, {limit}) | 媒体 URL |
exportToJSON(data, path) / exportToCSV(data, path) | 导出文件 |
浏览器控制台脚本
独立的 IIFE——粘贴到 x.com 的开发者工具控制台中。无需依赖项。
| 脚本 | 文件 | 导航至 |
|---|---|---|
| 下载视频 | src/scrapers/videoDownloader.js | 带视频的推文 |
| 导出书签 | src/scrapers/bookmarkExporter.js | x.com/i/bookmarks |
| 展开主题串 | src/scrapers/threadUnroller.js | 任意主题串 |
| 查找热门推文 | src/scrapers/viralTweets.js | 用户资料 |
| 抓取粉丝 | scripts/scrapeFollowers.js | x.com/USER/followers |
| 抓取关注对象 | scripts/scrapeFollowing.js | x.com/USER/following |
| 抓取用户资料 | scripts/scrapeProfile.js | 用户资料 |
| 抓取搜索结果 | scripts/scrapeSearch.js | 搜索结果 |
| 抓取话题标签 | scripts/scrapeHashtag.js | x.com/hashtag/TAG |
| 抓取点赞 | scripts/scrapeLikes.js | x.com/USER/likes |
| 抓取点赞用户 | scripts/scrapeLikers.js | 任意推文 |
| 抓取回复 | scripts/scrapeReplies.js | 任意推文 |
| 抓取媒体 | scripts/scrapeMedia.js | 用户媒体标签页 |
| 抓取私信 | scripts/scrapeDMs.js | x.com/messages |
| 抓取通知 | scripts/scrapeNotifications.js | x.com/notifications |
| 抓取列表 | scripts/scrapeList.js | 任意 X 列表 |
| 抓取书签 | scripts/scrapeBookmarks.js | x.com/i/bookmarks |
| 导出为 CSV | scripts/exportToCSV.js | 任意抓取完成后 |
| 链接抓取器 | scripts/linkScraper.js | 任意时间线 |
| 引用转推 | scripts/scrapeQuoteRetweets.js | 任意推文 |
交互式浏览器工具箱(推荐用于控制台抓取)
对于在控制台中粘贴脚本进行抓取,建议使用 scripts/twitter/scraper-toolbox.js:这是一个页面内控制面板(开始/暂停/停止、实时筛选、用户排除、关键词规则),可捕获 X 自身的 GraphQL 响应,因此计数是精确整数,长帖也不会被截断。支持导出为 JSON/CSV/Markdown/TXT/HTML,并复制到剪贴板。适用于任何时间线:个人资料、搜索、列表、点赞、书签、主页。文档:
scripts/twitter/README-scraper-toolbox.md。
MCP 抓取工具
所有抓取工具都可通过 MCP 服务供 AI Agent 使用:
| 工具 | 描述 |
|---|---|
x_get_profile | 抓取用户资料 |
x_get_followers | 获取粉丝列表 |
x_get_following | 获取关注列表 |
x_get_tweets | 获取用户推文 |
x_search_tweets | 搜索推文 |
x_get_thread | 展开主题串 |
x_download_video | 提取视频 URL |
注意事项
- 使用 Node.js 抓取器后,务必调用
browser.close() - 页面导航时浏览器脚本会停止——运行期间请停留在当前页面
- 所有脚本都支持导出为 JSON 和 CSV
- 增大
limit参数可进行更深入的抓取(默认值因函数而异) - 已内置速率限制——避免将延迟调低至默认值以下
评论
支持 Markdown