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> |
||
|---|---|---|
| .. | ||
| api | ||
| connectors | ||
| extractors | ||
| models | ||
| normalize | ||
| resolve | ||
| scheduler | ||
| templates | ||
| __init__.py | ||
| auth.py | ||
| config.py | ||
| db.py | ||
| ingest.py | ||
| main.py | ||