| name | wechat-article-search |
| title | 微信公众号文章搜索 |
| version | 1.0.0 |
| category_key | research-analysis |
| category_name | 研究与分析 |
| tags | ["wechat","official-account","article-search","chinese-research"] |
| allowed-tools | ["Bash","Read","Write","WebSearch","WebFetch"] |
| description | 搜索微信公众号文章,并整理标题、摘要、发布时间、来源公众号和链接。用户提到微信公众号、 公众号文章、微信文章、搜一批公众号资料、按关键词找公众号内容、查某公众号相关报道, 或需要为中文研究收集微信公众平台文章时使用;即使用户只说“搜微信里的文章”也应触发。 本 Skill 负责文章发现和结果整理,不用于批量抓取正文或长期监控。 |
| recommendation | 适合按关键词发现微信公众号文章,并快速整理来源、时间与可访问链接。 |
| metadata | {"security":{"allowed_domains":["weixin.sogou.com","mp.weixin.qq.com"]}} |
微信公众号文章搜索
按关键词发现微信公众号文章,并把可核验的搜索结果整理给用户。默认使用内置 Python
脚本访问搜狗微信搜索;脚本依赖 requests 与 beautifulsoup4。当本机缺少 Python、
依赖未安装、来源限流或页面结构暂时不可解析时,再使用 WebSearch / WebFetch 做明确
标注的降级检索。
运行依赖
需要 Python 3.10+、requests 和 beautifulsoup4。执行前先检查:
python3 --version
python3 -c "import requests, bs4"
如果 Python 包缺失,先向用户说明需要安装依赖,并在用户同意后执行:
python3 -m pip install -r "${CLAUDE_SKILL_DIR}/requirements.txt"
不要静默安装依赖,也不要改动用户现有的 Python 环境。
请求策略
requests 负责 HTTP 会话、Cookie 和超时,BeautifulSoup 负责解析搜索结果 DOM。
- 每次请求从有限的浏览器 User-Agent 池中选择一个,并在请求前访问搜狗视频入口预热会话。
- 搜索请求会带基础搜狗 Cookie,并叠加预热响应提供的
SNUID;这只是兼容搜狗搜索页的
请求策略,不代表拥有微信文章访问权限。
- 仍然采用低频人工请求、固定延迟和一次重试;遇到验证码、反爬或限流就停止。
执行流程
- 从用户请求提取关键词、数量和是否需要直达微信链接。数量未指定时用 10,最大 50;
不要为了默认值额外追问。
- 先运行脚本。
${CLAUDE_SKILL_DIR} 在 nxs 与 Claude Code 中都会展开为当前 Skill
的真实目录:
python3 "${CLAUDE_SKILL_DIR}/scripts/search.py" "关键词" --num 10
- 读取 stdout JSON,按结果格式回答。不要把脚本的“0 条”扩写成“网上没有”;
它只表示本次来源没有返回可解析结果。
- 只有用户明确要求
mp.weixin.qq.com 直达链接,或后续任务确实需要抓取正文时,才使用
--resolve-url。链接解析会逐条增加请求,建议一次不超过 10 篇:
python3 "${CLAUDE_SKILL_DIR}/scripts/search.py" "关键词" --num 5 --resolve-url
- 用户要求保存时才传
--output,优先写入用户指定目录;未指定目录时先给结果,不要自行
把文件散落在 workspace 根目录:
python3 "${CLAUDE_SKILL_DIR}/scripts/search.py" "关键词" --num 20 --output "research/wechat-results.json"
排序
默认保持搜索相关性顺序。用户明确要“最新”“最近”时,使用 --sort latest;这只会对本次
检索到的结果按可解析发布时间降序排列,不能宣称覆盖全部公众号文章: