mcpField
T
twitter-scraping

twitter-scraping

github.com/nirholas数据与数据库63145 次安装2 天前更新
代码仓库

关于 twitter-scraping

面向 X 数据采集的技能,提供 Node.js 抓取器、浏览器控制台脚本和交互式工具箱,可采集个人资料、帖子、关注列表及搜索内容,并导出数据。

主要功能

  1. 01采集个人资料、关注者和关注对象
  2. 02抓取帖子、话题、串文和媒体
  3. 03提供 Node.js API 与浏览器脚本
  4. 04交互面板支持筛选和控制
  5. 05导出 JSON、CSV 等格式
  6. 06内置 MCP 抓取工具

适用场景

  1. 01整理指定用户的帖子和资料
  2. 02收集搜索结果或话题帖子
  3. 03导出关注者、书签或媒体数据
  4. 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.jsx.com/i/bookmarks
展开主题串src/scrapers/threadUnroller.js任意主题串
查找热门推文src/scrapers/viralTweets.js用户资料
抓取粉丝scripts/scrapeFollowers.jsx.com/USER/followers
抓取关注对象scripts/scrapeFollowing.jsx.com/USER/following
抓取用户资料scripts/scrapeProfile.js用户资料
抓取搜索结果scripts/scrapeSearch.js搜索结果
抓取话题标签scripts/scrapeHashtag.jsx.com/hashtag/TAG
抓取点赞scripts/scrapeLikes.jsx.com/USER/likes
抓取点赞用户scripts/scrapeLikers.js任意推文
抓取回复scripts/scrapeReplies.js任意推文
抓取媒体scripts/scrapeMedia.js用户媒体标签页
抓取私信scripts/scrapeDMs.jsx.com/messages
抓取通知scripts/scrapeNotifications.jsx.com/notifications
抓取列表scripts/scrapeList.js任意 X 列表
抓取书签scripts/scrapeBookmarks.jsx.com/i/bookmarks
导出为 CSVscripts/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