How aliishov/multi-platform-scarper works
This browser extension collects social-media posts for user-supplied keywords on X or Facebook, with optional count/date limits, skip/stop controls, server submission, and JSONL export. The principal flow is popup configuration → shared scrape state → page interaction and post collection → optional export or server submission. The excerpts show state handling, parts of platform scraping, and server dispatch; some scraping details and extension wiring are not visible, so uncertain links are omitted.
Main entry points: content.js Scrape coordinator · popup.js Run controls · popup.html Popup interface · background.js Message handler
Components 16
User controls
- Popup interface
popup.html - Run controls
popup.js
Scraping
- Scrape coordinator
content.js - Platform login
content.js - Search and settings
content.js - Post extraction
content.js - Date and count limits
content.js - Keyword progress
content.js
Shared state
- Extension state
Outputs and integrations
- Message handler
background.js - JSONL download
popup.js
Other components
- User
- X and Facebook
- Local API
- Local file
- Browser tabs
Connections 21
- User → Popup interface: uses
- Popup interface → Run controls: controls
- Run controls → Extension state: writes state
- Run controls → Extension state: reads state
- Extension state → Run controls: updates UI
- Run controls → Browser tabs: navigates
- Scrape coordinator → Extension state: reads state
- Scrape coordinator → Extension state: writes state
- Extension state → Scrape coordinator: supplies state
- Scrape coordinator → Platform login: runs checks
- Scrape coordinator → Search and settings: configures search
- Scrape coordinator → Post extraction: collects posts
- Scrape coordinator → Date and count limits: applies limits
- Scrape coordinator → Keyword progress: advances keywords
- Platform login → X and Facebook: interacts
- Search and settings → X and Facebook: searches
- X and Facebook → Post extraction: provides posts
- Scrape coordinator → Message handler: dispatches posts
- Message handler → Local API: POSTs posts
- Run controls → JSONL download: exports results
- JSONL download → Local file: downloads