feat: v2.8 — Instagram Reels source + TikTok ScrapeCreators migration
Add Instagram Reels as the 8th research source via ScrapeCreators API. One API key (SCRAPECREATORS_API_KEY) now covers both TikTok and Instagram. - Add scripts/lib/instagram.py: keyword search, transcript extraction, relevance scoring, engagement metrics (views, likes, comments) - Add InstagramItem to schema, normalization, scoring, dedup, rendering - Add Instagram to orchestrator pipeline, watchlist, and UI spinners - Update SKILL.md: stats template, citation priority, item format, URL-to-name extraction rules, anti-Sources instruction - Update README and CHANGELOG for v2.8 - Fix: Instagram/TikTok not running in --search= web-only path - Fix: web stats line showing full URLs instead of domain names - Replace APIFY_API_TOKEN with SCRAPECREATORS_API_KEY throughout Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -211,6 +211,16 @@ def _run_topic(topic: dict) -> dict:
|
||||
"engagement_score": (item.get("engagement") or {}).get("views", 0),
|
||||
"relevance_score": item.get("relevance", 0),
|
||||
})
|
||||
for item in data.get("instagram", []):
|
||||
findings.append({
|
||||
"source": "instagram",
|
||||
"url": item.get("url", ""),
|
||||
"title": (item.get("caption_snippet", "") or "")[:120],
|
||||
"author": item.get("author_name", ""),
|
||||
"content": item.get("caption_snippet", ""),
|
||||
"engagement_score": (item.get("engagement") or {}).get("views", 0),
|
||||
"relevance_score": item.get("relevance", 0),
|
||||
})
|
||||
|
||||
# Store with dedup
|
||||
counts = store.store_findings(run_id, topic_id, findings)
|
||||
|
||||
Reference in New Issue
Block a user