关于 feedgrab
feedgrab 是一项将 URL 内容提取为 Markdown 的技能,适合需要结构化阅读网页和社交平台内容的用户。它会按平台选择抓取方式,并将结果保存为 Markdown 文件。
主要功能
- 01从 URL 抓取内容
- 02支持多种社交与发布平台
- 03按平台选择提取方式
- 04保存为结构化 Markdown 文件
- 05支持读取剪贴板内容
适用场景
- 01提取 URL 中的文章或社交帖子
- 02读取视频字幕或转录内容
- 03将网页内容保存为 Markdown
- 04抓取剪贴板中的 URL
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ibigqiang/ feedgrab --skill feedgrab安装后在 Claude Code 中输入/feedgrab确认已加载。
详细介绍
feedgrab — 通用内容抓取工具
输入 URL,获取结构化 Markdown。支持 17+ 个平台的深度提取。
触发条件
当用户提供 URL 并希望抓取、提取或阅读其中的内容时激活:
/feedgrab <URL>- “抓取这篇文章”
- “阅读这条推文/帖子”
- “抓取这个链接”
- 来自受支持平台的任何 URL
前置条件检查
抓取前,请确认已安装 feedgrab:
which feedgrab 2>/dev/null || command -v feedgrab 2>/dev/null
如果尚未安装,请告知用户:
feedgrab is not installed. Run `/feedgrab-setup` or manually:
pip install feedgrab[all]
feedgrab setup
然后停止操作——未安装 feedgrab 时不要继续。
支持的平台
| 平台 | URL 模式 | 方法 |
|---|---|---|
| X/Twitter | x.com/*/status/*, twitter.com/* | GraphQL → FxTwitter → Syndication → oEmbed → Jina → Playwright |
| WeChat(微信公众号) | mp.weixin.qq.com/* | Playwright JS evaluate → Jina |
| Xiaohongshu(小红书) | xiaohongshu.com/explore/*, xhslink.com/* | API (xhshow) → Pinia Store 注入 → Jina → Playwright |
| YouTube | youtube.com/watch?v=*, youtu.be/*, Shorts | InnerTube API → yt-dlp 字幕 → Groq Whisper |
| GitHub | github.com/*/* | REST API(优先使用中文 README + 扫描子目录) |
| LinuxDo / Discourse | linux.do/t/* | Discourse 主题 JSON API → CDP → Playwright 页面内 fetch → Jina |
| IDCFlare / Discourse | idcflare.com/t/* | Discourse 主题 JSON API → CDP → Playwright 页面内 fetch → Jina |
| Feishu/Lark(飞书) | feishu.cn/docx/*, feishu.cn/wiki/* | Open API → CDP → Playwright PageMain → Jina |
| KDocs(金山文档) | kdocs.cn/l/* | Playwright ProseMirror DOM(虚拟滚动 + CDP) |
| FlowUs(息流) | flowus.cn/share/*, flowus.cn/*/<uuid> | HTTP API → CDP/启动浏览器 → Jina;在线签名图片或本地附件 |
| Youdao Note(有道云笔记) | share.note.youdao.com/* | JSON API → Playwright iframe → Jina |
| Zhihu(知乎) | zhihu.com/question/*/answer/*, zhuanlan.zhihu.com/p/* | API v4 → Playwright CDP/DOM → Jina |
| Bilibili(B 站) | bilibili.com/video/*, b23.tv/* | API 元数据 + 三级字幕回退(v2 → WBI v2 → Whisper) |
| Xiaoyuzhou(小宇宙) | xiaoyuzhoufm.com/episode/* | SSR __NEXT_DATA__ + Groq Whisper 转录 |
| Ximalaya(喜马拉雅) | ximalaya.com/sound/*, m.ximalaya.com/sound/* | Web Revision API + canPlay 降级 + Groq Whisper |
| Telegram | t.me/* | Telethon |
| HackerNews | news.ycombinator.com/item?id=* | Firebase API v0(item.json + 第一层评论 + hn top/new/best/ask/show/jobs 列表批量抓取) |
| Medium | medium.com/*, *.medium.com/* | Jina Reader → JSON-LD articleBody → Stealth Browser;通过 RSS 批量抓取用户/出版物内容 |
reddit.com/r/*/comments/*, redd.it/* | old.reddit.com .json + self-UA → CDP → Stealth Playwright + 已保存的会话 → Jina(REDDIT_REPLY_MODE=top/tree/all;通过 reddit-sub / reddit-so 批量抓取/搜索) | |
weibo.com/*, weibo.cn/*, m.weibo.cn/status/* | m.weibo.cn /statuses/show + container/getIndex + SSR $render_data 回退(SUB cookie 可选) | |
| Douyin(抖音) | douyin.com/video/*, v.douyin.com/*(短链接) | CDP → Stealth Playwright + 已保存的会话 → SSR RENDER_DATA → Jina(浏览器端签名,无需破解算法) |
| Zsxq(知识星球) | articles.zsxq.com/id_*.html, wx.zsxq.com/group/*/topic/*, t.zsxq.com/*(短链接) | HTTP cookie(文章 SSR HTML / api.zsxq.com 主题 JSON)→ CDP → Stealth Playwright → Jina(有身份验证限制,需要登录) |
| RSS | RSS/Atom 源 URL | feedparser |
| 付费墙新闻(300+) | NYT/WSJ/FT/Economist/Bloomberg... | JSON-LD → Googlebot/Bingbot UA → AMP → EU IP → archive.today → Google Cache → Jina |
| 任意网页 | 其他任何 URL | JSON-LD 预扫描 → Jina Reader 回退 |
流程
第 1 步:抓取内容
feedgrab "$ARGUMENTS"
CLI 会自动检测平台并调用相应的抓取器。
步骤 2:定位输出文件
feedgrab 会将输出保存到 OUTPUT_DIR(默认值:./output/)。查看 CLI 输出中的已保存文件路径,通常为:
output/X/author_date:title.mdoutput/mpweixin/author_date:title.mdoutput/XHS/author_date:title.mdoutput/YouTube/author_date:title.mdoutput/GitHub/author_date:title.mdoutput/LinuxDo/author_date:title.mdoutput/IDCFlare/author_date:title.mdoutput/Feishu/author_date:title.mdoutput/KDocs/author_date:title.mdoutput/FlowUs/author_date:title.mdoutput/NoteYouDao/author_date:title.mdoutput/Zhihu/author_date:title.mdoutput/Bilibili/author_date:title.mdoutput/Xiaoyuzhou/author_date:title.mdoutput/Ximalaya/author_date:title.mdoutput/Web/author_date:title.md(付费墙/通用页面)
步骤 3:读取并展示
读取输出 .md 文件,并向用户展示内容。该文件包含:
- YAML front matter(标题、来源、作者、发布日期、点赞数、标签等)
- 完整的 Markdown 格式文章/推文/帖子内容
- 图片(远程 URL,或启用媒体下载时使用本地路径)
剪贴板模式
如果用户说“从剪贴板抓取”,或者 URL 中包含 &(这会导致 PowerShell 出错):
feedgrab clip
此命令会从系统剪贴板读取 URL。
错误处理
| 错误 | 解决方案 |
|---|---|
feedgrab: command not found | 运行 /feedgrab-setup |
| Cookie 过期 / 401 / 403 | 运行 feedgrab login <platform> 刷新 |
| Jina 超时(30s) | feedgrab 会自动使用 Playwright 重试 |
| 速率限制(429) | 如果已配置,feedgrab 会自动轮换 Cookie |
未设置 OUTPUT_DIR | 运行 feedgrab setup 进行配置 |
提示
- 对于 Twitter 深度提取(浏览量、收藏、帖子串):通过
feedgrab login twitter配置 Cookie - 对于 微信公众号文章:抓取单篇文章无需登录
- 对于 小红书:运行
pip install xhshow使用 API 模式(速度更快,无需浏览器) - 对于 GitHub:设置
GITHUB_TOKEN以提高速率限制(5000 次/小时,而非 60 次/小时) - 对于 LinuxDo / Discourse:如果主题为私密内容,或网站要求浏览器会话/Cloudflare Cookie,请运行
feedgrab login linuxdo - 对于 IDCFlare / Discourse:如果主题为私密内容,或网站要求浏览器会话/Cloudflare Cookie,请运行
feedgrab login idcflare - 对于 Discourse 论坛:默认回复模式仅抓取 OP 和主题作者的后续回复;使用
LINUXDO_REPLY_MODE/IDCFLARE_REPLY_MODE切换(author/all/none) - 对于 Reddit:使用
REDDIT_REPLY_MODE=tree抓取嵌套回复,或使用REDDIT_REPLY_MODE=all展开更多回复;使用/feedgrab-batch搜索reddit-so - 对于 Feishu:设置
FEISHU_APP_ID+FEISHU_APP_SECRET以访问 Open API - 对于 KDocs:运行
feedgrab login kdocs保存会话(或启用KDOCS_CDP_ENABLED=true以复用已运行的 Chrome) - 对于 FlowUs:付费/私密文档请运行
feedgrab login flowus;默认图片使用带签名的在线 URL,设置FLOWUS_DOWNLOAD_IMAGES=true可下载本地附件 - 对于 Zhihu:运行
feedgrab login zhihu保存会话(可抓取完整回答内容) - 对于 Bilibili 字幕:免费层级(
player/v2+ WBI)开箱即用;对于无字幕的视频,可设置BILIBILI_SUBTITLE_WHISPER=true使用 Whisper 作为备用方案 - 对于 Xiaoyuzhou / Ximalaya:设置
GROQ_API_KEY以使用 Whisper 转录(免费层级仅提供元数据和简介) - 对于 付费墙网站:默认启用
PAYWALL_ENABLED=true,无需额外配置 - 运行
feedgrab doctor诊断问题
评论
支持 Markdown