investigate(siska): keep disabled — site search is broken (ignores query)

Revisited siska re-enable (user fa4083a2). Findings: (1) fresh siska videos (videoID 227xxx) embed playmogo + luluvid and ARE phone-resolvable; updated siska.py scene regex + extractor path to the current video.php?videoID= format (old /<slug>/ format is gone). (2) BUT siska's ?s=<query> search is broken site-side — it returns the latest videos regardless of query (angela white == riley reid == homepage), so as a performer-driven BaseSearchScraper it always yields 0 (title token filter rejects everything). Reviving siska would require converting it to a browse/latest scraper (changes ingest character) — left as a decision. Old self-player videos (player.siska.video -> cfglobalcdn) are dead. Scraper stays disabled.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
jtrzupek 2026-06-20 16:15:02 +02:00
parent 8b216018a2
commit 0b6f663528
2 changed files with 19 additions and 9 deletions

View file

@ -91,12 +91,15 @@ ALL_DIRECT_SCRAPERS: list[type[BaseDirectTubeScraper]] = [
# mobile = black screen (player JS nie inicjalizuje się przez Turnstile). 16%
# scen solo (no backup tube), 84% multi-source — user może użyć innego tube. yt-dlp
# nie wspiera DoodStream ("Piracy"), własny resolver TBD jeśli warto.
# SiskaScraper — wyłączony 2026-05-16. Wyłączenie było oparte na błędnym
# założeniu "filemoon shutdown" — filemoon zrobił rebrand na SPA "Byse
# Frontend", a nie umarł (RE 2026-05-22, patrz mobile/src/lib/filemoonHoster.ts).
# Status do rewizji: (a) filemoon znów resolvuje się mobile-side, (b) siska
# od ~2026-05 i tak przeszła w dużej części na playmogo. Re-enable wymaga
# sprawdzenia aktualnego mixu hosterów na siska.video.
# SiskaScraper — wyłączony 2026-05-16, pozostaje WYŁĄCZONY. Rewizja 2026-06-20
# (user fa4083a2): świeże filmy (videoID 227xxx) embedują playmogo + luluvid i
# SĄ phone-resolwowalne (_embed_iframe oddaje type='hoster', extractor+regex
# zaktualizowane do `video.php?videoID=` w siska.py). ALE search siski jest
# ZEPSUTY site-side: `?s=<query>` ignoruje zapytanie i zwraca zawsze latest
# (angela white == riley reid == homepage). Jako BaseSearchScraper (performer-
# driven) zawsze yielduje 0 → bezcelowy. Żeby ożywić, trzeba PRZEROBIĆ na
# browse-scraper (latest chronologicznie) — zmiana charakteru ingestu, do decyzji.
# Stare self-player filmy (player.siska.video → cfglobalcdn) z 2018 są martwe.
# SiskaScraper,
# Porn4DaysScraper — wyłączony 2026-05-12 (post audit fix). 100% scen na streamtape
# only (DEAD_HOSTER_RE blacklist - malware drive-by .reg downloads). SERVER1_URL =

View file

@ -1,7 +1,12 @@
"""siska.video — direct HTML scrape.
Search: `https://siska.video/page/<n>/?s=<q>`.
Scene URL: `https://siska.video/<slug>/`.
Search: `https://siska.video/page/<n>/?s=<q>` (działa nadal).
Scene URL: `https://siska.video/video.php?videoID=<n>` (zmiana 2026-05+, dawniej `/<slug>/`).
Nowy format nie ma słów tytułu w URL (slug = numer videoID), więc do `slug` (którego
`_search_base` używa do token-filtra query + derywacji tytułu) bierzemy `title='...'`
z tego samego <a>. Świeże filmy embedują playmogo + luluvid telefon resolwuje
phone-side (_embed_iframe oddaje type='hoster'). Re-enabled 2026-06-20 (user fa4083a2).
"""
from __future__ import annotations
@ -13,7 +18,9 @@ from app.connectors.direct_scrapers._search_base import BaseSearchScraper
class SiskaScraper(BaseSearchScraper):
sitetag = "siskavideo"
_search_url_template = "https://siska.video/page/{page}/?s={query}"
# <a title=' Tytuł Sceny ' href='https://siska.video/video.php?videoID=227110' ...>
# `slug` = tytuł (token-filtr + tytuł działają na nim; numer videoID nie ma słów).
_scene_url_re = re.compile(
r'href="(?P<url>https://siska\.video/(?P<slug>[a-z0-9][a-z0-9\-]+))/"',
r"<a\s+title='(?P<slug>[^']*)'\s+href='(?P<url>https://siska\.video/video\.php\?videoID=\d+)'",
re.IGNORECASE,
)