Browse over /best/<YYYY-MM>/<page> (SSR; xnxx has no clean /new/ and its homepage is JS-rendered) for a latest-feed freshness signal next to the performer-driven search scraper. JSON-LD VideoObject only — xnxx detail (unlike its xvideos twin) doesn't expose /models/ or /tags/ in SSR, so performers/tags come via canonical merge + the search scraper. Title is html.unescaped (JSON-LD ships ,/! entities). xhamster and sxyprn intentionally left search-only: xhamster Cloudflare-blocks the VPS on listing pages (1KB challenge), sxyprn has no clean SSR listing (IP-bound) — a flaky browse scraper would be worse than the working search + 168h watchdog. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| direct_scrapers | ||
| __init__.py | ||
| base.py | ||
| dooplay.py | ||
| paradisehill.py | ||
| stashdb.py | ||
| tpdb.py | ||