From 17601fd0b8a45b4eb0860d8e52c5606715756d55 Mon Sep 17 00:00:00 2001 From: goon-foss Date: Thu, 20 Aug 2026 12:30:58 +0200 Subject: [PATCH] fix(javflix): czytaj /new/, bo strona glowna to staly zestaw javflix stal 89h bez nowosci, mimo ze scraper chodzil i widzial sceny. Powod: listing szedl ze strony glownej, a ta pokazuje staly zestaw 16 postow, ktory mamy w calosci. Audyt 2026-08-20: /new/ ma 7 nieznanych scen z 9, strona glowna 0 z 16. Przy okazji paginacja: WordPress ja tu tylko udaje. /page/2/ i /page/3/ oddaja identyczna tresc co strona glowna, a /new/page/2/ to samo co /new/, wiec browse-latest mielil ten sam zestaw piec razy na run. Teraz strona 1 to /new/, strona 2 to strona glowna, dalej pusto. Zweryfikowane na zywo: run oddal seen=25, new=7. Co-Authored-By: Claude Opus 5 --- app/connectors/direct_scrapers/javflix.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/connectors/direct_scrapers/javflix.py b/app/connectors/direct_scrapers/javflix.py index 62ea6f2..15388cd 100644 --- a/app/connectors/direct_scrapers/javflix.py +++ b/app/connectors/direct_scrapers/javflix.py @@ -43,7 +43,18 @@ class JavflixScraper(BaseBrowseScraper): sitetag = "javflix" def _listing_url(self, page: int) -> str: - return f"{_BASE}/" if page <= 1 else f"{_BASE}/page/{page}/" + # `/new/` PRZED stroną główną, bo tylko tam trafiają świeże posty: audyt + # 2026-08-20 dał na `/new/` 7 nieznanych scen z 9, a na stronie głównej 0 z 16. + # Strona główna to stały zestaw, ktory od dawna mamy w calosci. + return f"{_BASE}/new/" if page <= 1 else f"{_BASE}/" + + def crawl_page(self, page: int): + # Paginacji tu NIE MA, mimo ze WordPress ja udaje: `/page/2/` i `/page/3/` + # oddaja identyczna tresc co strona glowna, a `/new/page/2/` to samo co `/new/`. + # Bez tego ograniczenia browse-latest mielil ten sam zestaw piec razy na run. + if page > 2: + return [] + return super().crawl_page(page) def _extract_scene_urls(self, listing_html: str) -> list[str]: seen: set[str] = set()