goon/app/connectors/direct_scrapers
jtrzupek ee4915770f feat(deep-crawl): eporner via JSON API as SSR-rich source (Phase 2b alternative)
porntrex/hqporner rejected for deep-crawl: KVS sites with no SSR metadata (77% of
existing porntrex has no duration -> invisible under the app's >=60 filter). eporner
instead exposes a public JSON API (api/v2/video/search) returning title + length_sec
+ keywords + added per video; ~100k videos, ~100/page, no per-scene detail fetch.

- BaseBrowseScraper.crawl_page(page): factored out of latest_scenes; returns None
  (transient fail) / [] (catalog end) / [scenes]. API subclasses override it.
- deep_crawl drives via crawl_page (supports HTML-listing AND API sources).
- EpornerApiScraper: crawl_page hits the eporner API -> RawScene with duration+tags+
  date+thumb+playback; registered in ALL_BROWSE_SCRAPERS.
- Pilot (2 API pages): 192 new, 100% playable + tagged + visible (>=60); the <180s
  trailer filter dropped 6 short clips.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 10:37:20 +02:00
..
__init__.py feat(deep-crawl): eporner via JSON API as SSR-rich source (Phase 2b alternative) 2026-06-03 10:37:20 +02:00
_browse_base.py feat(deep-crawl): eporner via JSON API as SSR-rich source (Phase 2b alternative) 2026-06-03 10:37:20 +02:00
_search_base.py Initial commit 2026-05-20 10:10:22 +02:00
base.py Initial commit 2026-05-20 10:10:22 +02:00
eporner.py Initial commit 2026-05-20 10:10:22 +02:00
eporner_api.py feat(deep-crawl): eporner via JSON API as SSR-rich source (Phase 2b alternative) 2026-06-03 10:37:20 +02:00
fpoxxx.py Initial commit 2026-05-20 10:10:22 +02:00
freshporno.py Mobile 0.1.9: OTA enable, WebView cookie-dismiss fix, porndoe connector 2026-05-22 11:20:57 +02:00
fullmovies.py feat(ingest): SQL phash match, tag inference + backfill, clip-store skip, browse tubes, watchdog 2026-06-01 15:07:35 +02:00
hdporn92.py Initial commit 2026-05-20 10:10:22 +02:00
hdporngg.py feat(ingest): SQL phash match, tag inference + backfill, clip-store skip, browse tubes, watchdog 2026-06-01 15:07:35 +02:00
hqporner.py Initial commit 2026-05-20 10:10:22 +02:00
latestleaks.py Initial commit 2026-05-20 10:10:22 +02:00
latestpornvideo.py Initial commit 2026-05-20 10:10:22 +02:00
mypornerleak.py Initial commit 2026-05-20 10:10:22 +02:00
perverzija.py Initial commit 2026-05-20 10:10:22 +02:00
porn00.py Initial commit 2026-05-20 10:10:22 +02:00
porn4days.py Initial commit 2026-05-20 10:10:22 +02:00
porndish.py Initial commit 2026-05-20 10:10:22 +02:00
pornditt.py Initial commit 2026-05-20 10:10:22 +02:00
porndoe.py Mobile 0.1.9: OTA enable, WebView cookie-dismiss fix, porndoe connector 2026-05-22 11:20:57 +02:00
pornhat.py Initial commit 2026-05-20 10:10:22 +02:00
pornhub.py Initial commit 2026-05-20 10:10:22 +02:00
porntrex.py Initial commit 2026-05-20 10:10:22 +02:00
pornxp.py Initial commit 2026-05-20 10:10:22 +02:00
redtube.py Initial commit 2026-05-20 10:10:22 +02:00
shyfap.py Initial commit 2026-05-20 10:10:22 +02:00
siska.py Initial commit 2026-05-20 10:10:22 +02:00
sxyland.py Initial commit 2026-05-20 10:10:22 +02:00
sxyprn.py Initial commit 2026-05-20 10:10:22 +02:00
watchporn.py Initial commit 2026-05-20 10:10:22 +02:00
xhamster.py Initial commit 2026-05-20 10:10:22 +02:00
xmoviesforyou.py Initial commit 2026-05-20 10:10:22 +02:00
xnxx.py Initial commit 2026-05-20 10:10:22 +02:00
xvideos.py Initial commit 2026-05-20 10:10:22 +02:00
xxxfreewatch.py Initial commit 2026-05-20 10:10:22 +02:00
youporn.py Initial commit 2026-05-20 10:10:22 +02:00
zerodayxx.py Initial commit 2026-05-20 10:10:22 +02:00