goon/app/connectors/direct_scrapers
jtrzupek cd257740be fix(hqporner): require ALL query tokens in slug — stop performer over-attribution
hqporner search post-filter kept a scene if its slug contained ANY query token
(>=3 chars). For multi-word performer names this matched on a single common token
(e.g. "anna","mia"), so the performer-driven ingest attributed the scene to EVERY
performer sharing that token — scenes accumulated up to 503 wrong performers
(hqporner = 5659 of 5897 scenes with >30 performers; bug-reports 2026-06-07).

Switch ANY->ALL: the slug must contain every query token, requiring a full name
match before attribution. Single-word names still work. Precision over recall —
144 wrong performers is far worse than missing a few loose matches.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 09:28:18 +02:00
..
__init__.py refactor(ingest): rename scraper Source name "pornapp" -> "tube-scraper" 2026-06-07 16:54:55 +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 feat(scrapers): extract tags + description from porndish scene pages 2026-06-06 21:32:10 +02:00
base.py refactor(ingest): rename scraper Source name "pornapp" -> "tube-scraper" 2026-06-07 16:54:55 +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 fix(hqporner): require ALL query tokens in slug — stop performer over-attribution 2026-06-08 09:28:18 +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 feat(scrapers): extract tags + description from porndish scene pages 2026-06-06 21:32:10 +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
xvideos_browse.py feat(deep-crawl): xvideos browse source (capped) + per-tube page cap 2026-06-03 11:16:44 +02:00
xxxfreewatch.py Initial commit 2026-05-20 10:10:22 +02:00
yesporn.py feat(deep-crawl): xvideos browse source (capped) + per-tube page cap 2026-06-03 11:16:44 +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