Sample articles
Text extraction targets, with the same content available as JSON and RSS.
Start with the catalog, follow each product link, then continue to the next page. Record the product ID with its price and stock count. The data stays fixed between runs so differences come from your client or rules, rather than a changing catalog.
Each product is available as an HTML page and a JSON API response. Product pages also carry structured JSON-LD. Compare the values extracted from all three surfaces to check whether a scraper is missing nested fields or reading the wrong element.
The dynamic catalog starts without product markup. JavaScript requests the first batch from the API; the Load more button fetches the next batch. A browser scraper can wait for product elements, while a network scraper can request the same API directly.
Assign each test a run ID. Keep the dataset and request sequence fixed, then change one variable: client, headers, cookies, pacing, or concurrency. Compare the request logs before turning a matched signal into a blocking rule.