界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

blog-feed-monitor

blog-feed-monitor

【效率与协作】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.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: blog-feed-monitor 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.

Blog Feed Monitor

Scrape blog posts via RSS/Atom feeds (free) with optional Apify fallback for JS-heavy sites.

Quick Start

No API key needed for RSS mode.

# Scrape a blog's RSS feed
python3 skills/blog-feed-monitor/scripts/scrape_blogs.py \
  --urls "https://example.com/blog" --days 30

# Multiple blogs with keyword filter
python3 skills/blog-feed-monitor/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-feed-monitor/scripts/scrape_blogs.py \
  --urls "https://example.com" --mode apify

How It Works

Auto Mode (default)

  1. 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
  2. Parses discovered feeds (supports RSS 2.0 and Atom)
  3. If any URLs fail, falls back to Apify jupri/rss-xml-scraper (if token available)
  4. Applies date and keyword filtering client-side

Note: The Apify fallback actor jupri/rss-xml-scraper may need updating -- it has not been verified recently. RSS mode works reliably without it.

RSS Mode

Only tries RSS feeds, no Apify fallback.

Apify Mode

Uses Apify actor directly, skipping RSS discovery.

CLI Reference

FlagDefaultDescription
--urlsrequiredBlog URL(s), comma-separated
--keywordsnoneKeywords to filter (comma-separated, OR logic)
--days30Only include posts from last N days
--max-posts50Max posts to return
--modeautoauto (RSS + fallback), rss (RSS only), apify (Apify only)
--outputjsonOutput format: json or summary
--tokenenv varApify token (only needed for Apify mode/fallback)
--timeout300Max seconds for Apify run

Cost

  • RSS mode: Free (no API, no tokens)
  • Apify mode: Uses jupri/rss-xml-scraper -- minimal Apify credits
我的收藏