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()