EN: Automated RSS feed collection system that fetches articles from multiple sources within a 24-hour window, stores them in a structured database, and generates browsable HTML reports.
CN: 自动化RSS订阅源采集系统,在24小时时间窗口内从多个来源抓取文章,存储到结构化数据库,并生成可浏览的HTML报告。
| Type | Name | Source | Description |
|---|---|---|---|
| Skill | rss_fetcher |
Skills_Repo | Unified RSS collection system |
| Database | rss_fetcher.db |
Auto-created | SQLite database for article storage |
| Config | sources.json |
User-defined | RSS source configuration |
# Check if database exists
test -f skills/rss_fetcher/data/rss_fetcher.db || python3 skills/rss_fetcher/scripts/init_db.py
# Check if source config exists
test -f skills/rss_fetcher/config/sources.json || echo "ERROR: sources.json not found"cd skills/rss_fetcher
# Fetch articles from last 24 hours
python3 scripts/fetch.py --hours 24
# Output:
# - New articles stored in rss_fetcher.db
# - Terminal displays fetch statistics# Regenerate HTML page (required step, otherwise browser won't see new data)
python3 scripts/generate_html.py
# Output: data/index.html# Check today's new article count
python3 scripts/list.py --hours 24
# Expected output: Display today's new article list (terminal table)| Parameter | Type | Default | Description |
|---|---|---|---|
hours |
int | 24 | Time window for fetching |
workers |
int | 20 | Concurrent thread count |
- Database:
skills/rss_fetcher/data/rss_fetcher.db- Table:
articles- Article main data - Table:
tags- Tag definitions - Table:
article_tags- Article-tag relationships
- Table:
- HTML Report:
skills/rss_fetcher/data/index.html- Supports date/category/tag filtering
- Supports keyword search
- Statistics: Terminal output of today's new article count
- Database Locked: Wait 5 seconds and retry (max 3 times)
- Network Timeout: 30-second timeout per source, log failed sources and continue
- Source Failure: Auto-skip, doesn't affect other sources
- Complete Failure: Preserve last successful data, log error
# Standard execution (24 hours)
cd skills/rss_fetcher && python3 scripts/fetch.py --hours 24 && python3 scripts/generate_html.py
# Extended execution (48 hours, more concurrent)
python3 scripts/fetch.py --hours 48 --workers 30 && python3 scripts/generate_html.py
# View results
python3 scripts/list.py --hours 24
open data/index.html # Mac- v1.0 (2026-03-16): Initial version
MIT License - Part of OpenExCard Project