Skip to content

fix(scraper): recognize robot interstitials and preserve known stock status - #71

Merged
mikeknight85 merged 1 commit into
mainfrom
fix/robot-interstitial
Aug 16, 2026
Merged

fix(scraper): recognize robot interstitials and preserve known stock status#71
mikeknight85 merged 1 commit into
mainfrom
fix/robot-interstitial

Conversation

@mikeknight85

Copy link
Copy Markdown
Owner

Summary

Follow-up to #70, from live verification against digitec:

  • detectBotChallenge now recognizes robot-check interstitial titles ("Are you a robot?" etc.), so they classify as challenges before the soft-404 checks can misread them as dead pages
  • a scrape resolving stock as unknown no longer overwrites a real previously-known status
  • the browser scraper waits out auto-resolving challenge interstitials (up to 2 re-reads, 8s apart) before returning the wall page

Validation

  • backend build + tests, scraper build
  • verified against the live interstitial HTML returned by digitec through the production browser scraper

…status

Digitec answers the browser scraper with an 'Are you a robot?' interstitial
(robots-noindex, no product data), which the soft-404 checks misread as a
dead page.

- detectBotChallenge now recognizes robot-check interstitial titles, so the
  page is classified as a challenge before the soft-404 checks run.
- A scrape that resolves stock as 'unknown' (blocked page, failed
  extraction) no longer overwrites a real previously-known stock status.
- The browser scraper re-reads the page up to twice, 8s apart, when the
  content matches a challenge interstitial — many auto-resolve once their
  JS fingerprinting completes.
@mikeknight85
mikeknight85 merged commit 6878d77 into main Aug 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant