Automatically collect and report AI news from multiple sources with fallback browser scraping.
bash
# Install dependencies
pip install -r references/requirements.txt
playwright install chromium
# Configure
python scripts/setup_config.py
# Run collection
python scripts/collect_ai_news.py
# Generate and push report
python scripts/push_to_feishu.py
SourcePrimary MethodFallback MethodarXiv PapersRSS APIPlaywright browserHugging Face PapersRSS FeedPlaywright browserProduct HuntRSS FeedPlaywright browserYouTube AI Creatorsyt-dlpPlaywright browserPaperWeeklyRSSrequestsCustom RSSfeedparserrequests
Edit references/config.example.json or run setup_config.py:
json
{
"feishu": {
"webhook_url": "https://open.feishu.cn/open-apis/bot/v2/hook/xxx",
"chat_id": "oc_xxx"
},
"sources": {
"arxiv": {"enabled": true, "categories": ["cs.CL", "cs.LG", "cs.AI"]},
"youtube": {
"enabled": true,
"creators": ["andrew_ng", "matt_wolfe", "ai_explained", "greg_isenberg"]
},
"paperweekly": {"enabled": true, "rss_url": ""}
}
}
Available creator keys:
andrew_ng - 吴恩达 (DeepLearning.AI)matt_wolfe - Matt Wolfeai_explained - AI Explainedai_with_oliver - AI with Olivergreg_isenberg - Greg IsenbergScriptPurposecollect_ai_news.pyMain collector with fallback logicyoutube_collector.pyYouTube video collectionrss_collector.pyRSS feed collectionbrowser_fallback.pyBrowser-based fallback scrapingpush_to_feishu.pyReport generation and Feishu pushdaily_scheduler.pyScheduled task runnersetup_config.pyInteractive configuration setup
When primary methods (RSS/API/yt-dlp) fail:
Generated reports include:
arXiv returns 0 papers: Check days_back parameter or network connection
YouTube fails: Ensure yt-dlp is installed; fallback to Playwright available
RSS timeouts: Browser fallback will attempt direct requests
Feishu push fails: Verify webhook URL and chat_id in config
rss section in configscripts/collect_ai_news.pybrowser_fallback.pySee references/DEVELOPMENT.md for detailed extension guide.