What I built
A small API for pages that only show their data after JavaScript runs, which a plain HTTP fetch cannot read.
Key features
- A single POST /api/scrape endpoint
- Table extraction that maps header names onto each row
- Falls back to body text when there is no table
- Collects every link on the page
- Waits for late-loading content before reading
Under the hood
- Uses the system Chrome in Docker with Thai/CJK fonts, and always closes the browser in finally