gtm-blog-scraper
Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites. Use when you need to monitor competitor blogs, track industry content, or aggregate blog posts by keyword.
- License 许可
- MIT
- 最近更新
- 2026-10-02
- Stars
- ★ 9
- Forks
- 1
01 前言 Front Matter
- name
- gtm-blog-scraper
- description
- Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites. Use when you need to monitor competitor blogs, track industry content, or aggregate blog posts by keyword.
02 资源文件 2
- 脚本scripts/scrape_blogs.py14.7 KB
- 参考文档skill.meta.json249 B
03 SKILL.md 正文
Blog Scraper
Scrape blog posts via RSS/Atom feeds (free) with optional Apify fallback for JS-heavy sites.
Quick Start
For RSS mode (free), only dependency is pip install requests. No API key needed.
# Scrape a blog's RSS feed
python3 skills/blog-scraper/scripts/scrape_blogs.py \
--urls "https://growthx.ai/blog" --days 30
# Multiple blogs with keyword filter
python3 skills/blog-scraper/scripts/scrape_blogs.py \
--urls "https://blog1.com,https://blog2.com" --keywords "AI,marketing" --output summary
# Force Apify for JS-heavy sites
python3 skills/blog-scraper/scripts/scrape_blogs.py \
--urls "https://example.com" --mode apify
How It Works
Auto Mode (default)
- For each URL, tries to discover an RSS/Atom feed:
- Checks HTML
<link rel="alternate">tags - Probes common paths:
/feed,/rss,/atom.xml,/feed.xml,/rss.xml,/blog/feed,/index.xml
- Checks HTML
- Parses discovered feeds (supports RSS 2.0 and Atom)
- If any URLs fail, falls back to Apify
jupri/rss-xml-scraper(if token available) - Applies date and keyword filtering client-side
RSS Mode
Only tries RSS feeds, no Apify fallback.
Apify Mode
Uses Apify actor directly, skipping RSS discovery.
CLI Reference
| Flag | Default | Description |
|---|---|---|
--urls |
required | Blog URL(s), comma-separated |
--keywords |
none | Keywords to filter (comma-separated, OR logic) |
--days |
30 | Only include posts from last N days |
--max-posts |
50 | Max posts to return |
--mode |
auto | auto (RSS + fallback), rss (RSS only), apify (Apify only) |
--output |
json | Output format: json or summary |
--token |
env var | Apify token (only needed for Apify mode/fallback) |
--timeout |
300 | Max seconds for Apify run |
Cost
- RSS mode: Free (no API, no tokens)
- Apify mode: Uses
jupri/rss-xml-scraper— minimal Apify credits
04 同仓库更多 Skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
writing-plans
Use when you have a spec or requirements for a multi-step task, before touching code
docs:write-concisely
Apply writing rules to any documentation that humans will read. Makes your writing clearer, stronger, and more professional.
kaizen:why
Iterative Five Whys root cause analysis drilling from symptoms to fundamentals
verification-loop
A comprehensive verification system for Claude Code sessions.
verification-before-completion
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always