rss-automation について
rss-automation は、RSS/Atom フィードを監視・集約し、コンテンツ追跡や通知を自動化するスキルです。条件による絞り込み、重複防止、定期チェックに対応します。
主な機能
- 01RSS 2.0 と Atom フィードの解析
- 02キーワード・日付・著者による絞り込み
- 03既読項目の記録と新着の識別
- 04新着項目の通知先への送信
- 05cron によるフィードの定期チェック
活用シーン
- 01複数のニュースや技術フィードの追跡
- 02キーワードや日付に合う項目の受信
- 03新着コンテンツの Telegram または Slack への定期送信
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aaaaqwq/ agi-super-team --skill rss-automationインストール後、Claude Code で/rss-automationを入力して読み込まれたか確認します。
詳細
RSS の自動化
- 作成者:Daniel Li
- 著作権 © Daniel Li。無断転載を禁じます。
コンテンツの追跡と通知を自動化するために、RSS/Atom フィードを監視し、集約します。
機能
- RSS 2.0 および Atom フィードを解析します
- キーワード、日付、作成者でエントリーを絞り込みます
- 重複を避けるため、既読/新着のエントリーを追跡します
- 新しいアイテムを Telegram、Slack、その他のチャネルに送信します
- cron で定期的なフィードチェックをスケジュールします
使用方法
フィードを解析する
import feedparser
feed = feedparser.parse("https://example.com/feed.xml")
for entry in feed.entries[:10]:
print(f"{entry.title} - {entry.link}")
print(f" Published: {entry.get('published', 'N/A')}")
複数のフィードを監視する
import feedparser, json, hashlib
from pathlib import Path
SEEN_FILE = Path("~/.openclaw/rss-seen.json").expanduser()
def load_seen():
if SEEN_FILE.exists():
return json.loads(SEEN_FILE.read_text())
return {}
def save_seen(seen):
SEEN_FILE.write_text(json.dumps(seen))
def check_feed(url, seen):
feed = feedparser.parse(url)
new_entries = []
for entry in feed.entries:
entry_id = hashlib.md5(entry.link.encode()).hexdigest()
if entry_id not in seen.get(url, []):
new_entries.append(entry)
seen.setdefault(url, []).append(entry_id)
return new_entries
cron との連携
フィードを定期的にチェックする cron ジョブを設定します:
Schedule: every 2 hours
Payload: "Check RSS feeds and push new items"
依存関係
pip install feedparser
フィードソースの例
| ソース | フィード URL |
|---|---|
| Hacker News | https://hnrss.org/frontpage |
| TechCrunch | https://techcrunch.com/feed/ |
| ArXiv CS.AI | http://arxiv.org/rss/cs.AI |
| GitHub Trending | 代わりにウェブスクレイピングを使用します |
重要な注意事項
- 一部のフィードでは User-Agent ヘッダーが必要です
- フィードチェックの頻度を制限してください(15 分未満の間隔でポーリングしないでください)
- 再起動後も維持できるよう、既読エントリーを永続的に保存してください
コメント
Markdown 対応