Local Web Scraping
A Chrome extension that captures job adverts from the page you are viewing, keeps them in a local review workspace, and exports structured records without an LLM.
View on GitHubProblem & context
Copying job adverts by hand loses formatting and source details, while generic page extraction can mix the advert with navigation, recommendations, and unrelated content.
My contribution
I built a Manifest V3 extension with page and selection capture, site-aware text cleanup, an editable review workspace, and structured exports for downstream processing.
Workflow
Open a job advert
Seek, LinkedIn, or another site
Capture page or selection
Context menu, shortcut, or popup
Isolate advert text
Site-aware cleanup and metadata
Review and edit locally
Chrome local storage
Export selected records
JSON, CSV, or Markdown
Optional inbox handoff
Explicit send to a configured endpoint
Technology
- JavaScript
- Chrome Manifest V3
- DOM extraction
- Chrome Storage API
- Schema-version-2 JSON
- CSV
- Markdown
Key design decisions
Capture what the user can inspect
The extension reads the current page rather than crawling URLs. Site-specific description containers reduce irrelevant text, and selection capture provides a fallback when the page layout is unfamiliar.
Preserve evidence before interpreting it
Capture retains advert text, headings, list boundaries, and numeric requirements without model summarisation. Users review the record before exporting it to another system.
Local by default, explicit handoff
Capture, editing, and export work offline. Sending records to an HTTPS inbox is optional and happens only after the user configures the connection and explicitly selects jobs to send.
Capabilities & limitations
Implemented
- Page or selected-text capture through menus, shortcuts, and a popup
- Seek and LinkedIn extraction with a generic visible-text fallback
- Local review, editing, selection, and deletion of captured jobs
- One JSON file per job, plus batch CSV and Markdown exports
- Optional authenticated handoff to a job-ingestion endpoint
Limitations
- Captures the current page; it is not an unattended crawler
- Collapsed advert text must be expanded before capture
- Website markup changes can require extraction updates or manual selection
- Native Chrome menus, permissions, and download prompts need manual browser checks
Have a workflow worth automating?
I'm interested in AI-focused roles and conversations about building useful, practical agentic AI systems.