wechat-batch-crawl
Automates the collection and organization of WeChat articles.
Install
mkdir -p .claude/skills/wechat-batch-crawl && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14736" && unzip -o skill.zip -d .claude/skills/wechat-batch-crawl && rm skill.zipInstalls to .claude/skills/wechat-batch-crawl
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
| Intent | Supported Phrases | |--------|-------------------| | 爬取今天 | "爬取今天的微信文章" / "获取今天的文章" / "抓今天的公众号" | | 爬取昨天 | "爬取昨天的微信文章" / "获取昨天的文章" | | 爬取指定日期 | "爬取1月20号的文章" / "获取上周一的文章" | | 仅列出 | "今天有哪些文章" / "列出今天的文章" / "看看有啥新文章" | | 增量爬取 | "继续爬取" / "爬取新增的文章" |Key capabilities
- →Crawl WeChat official account articles by date.
- →Apply smart delays to avoid anti-crawl blocks.
- →Deduplicate articles before scraping.
- →Parse dates from natural language formats.
- →Generate summary reports of scraped articles.
- →Check for required Python dependencies.
How it works
This skill fetches WeChat articles for a specified date, using `curl` via subprocess for anti-crawl measures and adaptive delays. It filters out already scraped URLs and organizes the output into date-specific directories with Markdown files and metadata.
Inputs & outputs
When to use wechat-batch-crawl
- →Crawl daily WeChat articles
- →Collect articles by date
- →Fetch new content
About this skill
WeChat Batch Crawl Skill
Overview
批量爬取微信公众号文章,支持智能反爬、日期过滤、自动去重。
Quick Start
# 爬取今天的文章
python resources/wechat_batch_scraper.py --date today
# 爬取指定日期
python resources/wechat_batch_scraper.py --date 2026-01-20
# 仅列出文章(不爬取)
python resources/wechat_batch_scraper.py --date today --list-only
Natural Language Patterns
| Intent | Supported Phrases |
|---|---|
| 爬取今天 | "爬取今天的微信文章" / "获取今天的文章" / "抓今天的公众号" |
| 爬取昨天 | "爬取昨天的微信文章" / "获取昨天的文章" |
| 爬取指定日期 | "爬取1月20号的文章" / "获取上周一的文章" |
| 仅列出 | "今天有哪些文章" / "列出今天的文章" / "看看有啥新文章" |
| 增量爬取 | "继续爬取" / "爬取新增的文章" |
Decision Boundaries
✅ Claude May Decide
- Date parsing from natural language formats
- Output directory naming and organization
- Retry strategy within configured limits
- Log verbosity and report format
❌ Claude Must NOT Change
- RSS feed URL configuration
- Anti-crawl delays (must stay 5-15 seconds)
- Max workers (must not exceed 3)
- Retry limits (max 3 retries)
- Request method (must use curl via subprocess)
Core Implementation
Anti-Crawl: Use curl via subprocess
result = subprocess.run(
['curl', '-s', '-A',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
url],
capture_output=True,
text=True,
timeout=30
)
Smart Delay: Adaptive by time
def get_adaptive_delay(self):
hour = datetime.now().hour
if 9 <= hour <= 18: return random.uniform(10, 15) # 白天高峰
if 19 <= hour <= 23: return random.uniform(7, 12) # 晚间
return random.uniform(3, 7) # 深夜
Deduplication: Filter before scraping
def filter_existing(self, urls, output_dir):
scraped_urls = collect_scraped_urls(output_dir)
return [url for url in urls if url not in scraped_urls]
Hooks
Pre-check (hooks/pre_check.py)
def check_dependencies():
required = ['bs4', 'html2text', 'feedparser']
missing = [p for p in required if not is_installed(p)]
if missing:
print(f"缺少依赖: pip install {' '.join(missing)}")
return False
return True
Post-summary (hooks/post_summary.py)
def generate_summary(results):
success = sum(1 for r in results if r['success'])
print(f"完成: {success}/{len(results)} ({success/len(results)*100:.1f}%)")
Output Structure
output_dir/
└── 2026-01-20/
├── 001_文章标题.md
├── 002_文章标题.md
└── _metadata.json
Workflow Integration
wechat-batch-crawl → content-summarizer → knowledge-manager
(爬取) (总结亮点) (更新知识库)
Troubleshooting
| 问题 | 解决方案 |
|---|---|
| 502 错误 | 确认使用 curl,非 requests |
| 频繁失败 | 检查是否高峰期,增加延迟 |
| 重复爬取 | 检查 output_dir 路径 |
When not to use it
- →When crawling platforms other than WeChat.
- →When anti-crawl delays are not needed.
- →When the maximum number of workers exceeds 3.
Limitations
- →RSS feed URL configuration must not be changed.
- →Anti-crawl delays must stay between 5-15 seconds.
- →Max workers must not exceed 3.
How it compares
This skill provides a specialized WeChat article scraping solution with built-in anti-crawl mechanisms, adaptive delays, and deduplication, offering a reliable data collection method unlike generic web scraping tools.
Compared to similar skills
wechat-batch-crawl side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| wechat-batch-crawl (this skill) | 0 | 6mo | Review | Intermediate |
| firecrawl-scrape | 5 | 7mo | Review | Beginner |
| crawl4ai | 21 | 8mo | Review | Intermediate |
| youtube-comments-api-skill | 0 | 2mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
firecrawl-scrape
parcadei
Scrape web pages and extract content via Firecrawl MCP
crawl4ai
basher83
This skill should be used when users need to scrape websites, extract structured data, handle JavaScript-heavy pages, crawl multiple URLs, or build automated web data pipelines. Includes optimized extraction patterns with schema generation for efficient, LLM-free extraction.
youtube-comments-api-skill
aiskillstore
This skill helps users extract structured video list data and comment data from YouTube using the BrowserAct API. The Agent should proactively apply this skill when users request searching for YouTube videos and their comments, analyzing viewer sentiment for a specific video topic, gathering audienc
web-scraper
KevanPatira
Web scraping inteligente multi-estrategia. Extrai dados estruturados de paginas web (tabelas, listas, precos). Paginacao, monitoramento e export CSV/JSON.
zlibrary-to-notebooklm
zstmfhy
自动从 Z-Library 下载书籍并上传到 Google NotebookLM。支持 PDF/EPUB 格式,自动转换,一键创建知识库。
adaptyv
davila7
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use for submitting experiments via API, tracking experiment status, downloading results, optimizing protein sequences for better expression using computational tools (NetSolP, SoluProt, SolubleMPNN, ESM), or managing protein design workflows with wet-lab validation.