Biblionetka – jak odzyskać dane?

Niektórzy może pamiętają, że był taki serwis jak Biblionetka.pl, gdzie można było oceniać książki. Strona zniknęła w lipcu 2025, po ataku ransomware na grupę PWN. Najpierw nie było nic, teraz, od dłuższego czasu, jest prośba o cierpliwość.

Dzisiejszy screenshot strony biblionetka.pl

Z Biblionetki korzystam „od zawsze”. Strona starego typu, taka dla fanów. Bez wszechobecnej dziś monetyzacji, bez nachalnych reklam. Po prostu działała, robiła robotę. Była wg mnie najlepszym serwisem tego typu w Polsce, z największą ilością pozycji, szczególnie polskich. Sam dodałem jakieś… Nie było fancy API, ale nie przeszkadzało to ludziom w robieniu zewnętrznych polecajek[1].

I wszystko się nagle, po ataku ransomware, skończyło. Niby miałem skrypt do backupu ocen ale… Tak, zgadliście, nie był to element backupu, który miałem zautomatyzowany. Więc nie wykluczam, że gdzieś miałem jakiś snapshot moich ocen[2]. Ale dane jakby przepadły. Nic krytycznego, niby, ale fajnie było je mieć. Parę razy złapałem się na tym, że chciałem sprawdzić jak mi się książka podobała i… nie mogłem.

Wiadomo, można poczekać, aż przywrócą. Jednak cierpliwość mi się skończyła i stwierdziłem, że pora spróbować odzyskać dane, bo minął już rok. Tym bardziej, że PWN oberwało mocno tym atakiem – między innymi wydawnictwo Azymut zakończyło działalność hurtową, więc do niszowego/fanowskiego serwisu nieprędko – jeśli w ogóle – będzie miał tam ktoś do tego głowę/zasoby.

Zatem jak odzyskać dane z serwisu Biblionetka.pl? Postanowiłem skorzystać ze znanego patentu stosowanego przez niektórych przy KRD i sprawdzić, czy da się odzyskać dane na podstawie RODO[3]. Na adres IOD grupy PWN wysłałem wniosek o udostępnienie danych. Ponieważ była to moja pierwsza prośba tego typu, dla mej pamięci – i żebyście Wy nie musieli szukać – treść, a jednocześnie dość uniwersalny gotowiec, poniżej.

Na podstawie art. 15 rozporządzenia 2016/679 (RODO) wnoszę o udzielenie mi dostępu do wszystkich moich danych znajdujących się w serwisie biblionetka.pl, którego jestem użytkownikiem oraz kopii tych danych w formie elektronicznej na adres e‑mail:

Dane identyfikacyjne:
– imię i nazwisko:
– adres e‑mail w serwisie:
– login / nazwa użytkownika:

Proszę o realizację wniosku w terminie wskazanym w art. 12 ust. 3 RODO.

Tyle wystarczyło. Początek był nieco dziwny (komunikat BOK o skierowaniu danych do wydawnictwa), ale po kilkunastu dniach i wymianie paru maili (potrzebny był jeszcze nr telefonu do przesłania hasła do pliku zip z eksportem) otrzymałem zamówione dane w formie pliku xlsx. W tym to, na czym najbardziej mi zależało, czyli wszystkie oceny książek i daty ocen. I to do lipca 2025 włącznie[4], czyli albo nie było strat danych, albo jakieś minimalne, rzędu kilku dni. Co jest oczywiście wspaniałą wiadomością i daje nadzieję na przywrócenie serwisu – najważniejsza rzecz, czyli dane, są.

Proces przygotowania danych wygląda na całkowicie manualny, więc – jeśli zdecydujecie się pobrać dane – nie spieszcie się ze składaniem wniosków i bądźcie wyrozumiali, gdyby nastąpiły opóźnienia.

Mam oczywiście nadzieję, że Biblionetka powróci – to był prosty, szybki serwis, z dużą ilością danych po polsku. Z dzisiejszej perspektywy patrząc: perełka, której może nieco brakowało rozgłosu. Trzymam kciuki i liczę na powrót. Póki co będę uzupełniał oceny w pliku…

UPDATE: Jeśli dobrze widzę w mailach, incydent cyberbezpieczeństwa miał miejsce 21.07.2025.

[1] Strona z poleceniami przestała działać jeszcze jakiś czas przez awarią Biblionetki.
[2] Pewnie z 2021, gdy napisałem skrypt, skoro nie było zautomatyzowane…
[3] O ile w ogóle są dostępne po ataku ransomware, różne rzeczy widziałem…
[4] Najnowsza ocena, którą mam, to 13.07.2025.

Won, Halski!

Za sprawą kodu promocyjnego na kawę dowiedziałem się, że InPost zrobił platformę sprzedażową i zmiany w appce na telefony. Z tej okazji trochę pierwsze wrażenie z korzystania i nieco przemyśleń w temacie.

Po pierwsze, chętnych do tortu e-commerce i platformy sprzedażowej na wzór Allegro jest wielu. Pomijając zagranicznych gigantów, mamy na polskim rynku – wymieniając na szybko, z głowy: erli.pl, Empik, mBank. I teraz InPost. Często są to twory zrobione na przyczepkę, w stylu „mamy X klientów na coś innego, sprzedawajmy też mydło i powidło”.

Moje doświadczenia z platformami są takie, że na Allegro kupuję regularnie i jest to pierwszy wybór. Znam interfejs, jest spory wybór, jest przewidywalne. Wady to coraz trudniejsze wyszukiwane z uwagi na zalew ofert promowanych i coraz mniej atrakcyjne ceny.

Empik, który kojarzył się ze sklepem z kulturą, zaczął parę lat temu sprzedawać różności. Jakieś karmy dla zwierząt, jakieś śrubki. Zdarzyło mi się parę zakupów tam, zwykle jakieś promocje, ale nie korzystam regularnie. Erli.pl – podchodziłem parę razy i… nic nie kupiłem, ostatecznie. Słaby wybór i ceny, za to wyszukiwanie i wygląd podobają mi się (desktop), takie odchudzone Allegro. Ostatni jest mBank, który wprowadzając zakupy do appki stracił u mnie sporo wizerunkowo jako bank, a nigdy niczego nie kupiłem.

No i na to wszystko na rynek wchodzi InPost. Z jednej strony rozumiem, bo po co przewozić cudze zakupy, skoro można własne. Podobnie – choć z drugiej strony – podeszło Allegro, budując swoją sieć dystrybucji. Po co płacić za dostarczenie zakupów komuś, skoro można to zrobić samodzielnie? Ale styl wejścia na rynek…

Jest na bogato. W appce do odbioru przesyłek pojawił się animowany pies, a cały proces zorientowany jest pod tego psa. Teksty itp. Czuć, że włożono w to sporo pracy. Tylko ten pies zupełnie mi się nie kojarzy z InPostem, wygląda na wziętego z innej bajki i wklejonego. No dobrze, ale odpalam appkę nie po to, żeby psa oglądać.

Zdarzyło mi się kupić w appce InPostu. Akurat pojawiła się w promocji oferta na kawę, o której dowiedziałem się z innego źródła, appkę już miałem, kawę piję. Stwierdziłem, że kupię, bo kilogram kawy za 35 zł to dobra cena. W aplikacji okazało się, że dodatkowo jest darmowa dostawa, więc już zupełnie dobrze.

Tyle, że interfejs jest tragiczny. Pomijam psa, który nic nie wnosi. Chodzi o to, że zapytanie do wyszukiwania obowiązkowo przechodzi przez asystenta AI. Pobawiłem się chwilę i faktycznie jest LLM pod spodem, to nie stylizacja. Nie wiem kto wpadł na pomysł, że wpisywanie tekstu na ekranie telefonu w celu przetworzenia przez AI, jako podstawowa metoda interakcji to coś, co się ludziom spodoba. No mi się nie podoba. W dodatku AI oznacza dodatkowe oczekiwanie na wynik. Męczące.

W zastosowaniach typowo LLMowych też sobie nie radził za dobrze. Wrzuciłem, że mam 100 zł do wydania i… no słabo sobie poradził. Propozycje nietrafione, nie dopytywał. Za to coś pobredzał o poprzednich zakupach (niezbyt trafnie). Ale nie chciał podać, skąd ma dane. Nie wiem jak to wygląda u innych, bo nigdy nie próbowałem korzystać z asystenta AI. Zupełnie nie mam potrzeby korzystać z niego w pojedynczym sklepie w jakiejś wersji, która nie wiem, co robi. Jeśli szukam czegoś i chcę skorzystać z LLMa, to wolę z „pełnego”, niezależnego od sklepu, mającego dostęp do sieci.

Sam zakup wyglądał tak, że znalazłem inną kawę, niż ta za rzekome 35 zł. Bardziej mi pasowała z opisu. Dodałem ją do koszyka, wpisałem kod, obniżył cenę o 15 zł. Spróbowałem zmienić na tę z promocji, już tylko, żeby sprawdzić cenę, bo coś mi się nie zgadzało i… kod nie wchodził w ogóle. Albo coś skopane, albo literówka.

Okazało się, że zamówień jest dużo, więc dostałem maila, że się przedłuży. Nie dostałem informacji o ile. Nie dostałem też (albo nie zauważyłem) powiadomienia (mail), że paczka dotarła i czeka w paczkomacie. Aplikacja Allegro sygnalizuje to o wiele lepiej. I chyba dodatkowo wysyła SMSa.

I tak sobie myślę, że po tym, co zobaczyłem, raczej nie palę się do zakupów w InPost. Jasne, dam się skusić na kolejny kupon, ale tak bez okazji, to chyba nie. No chyba, że mocno to wszystko poprawią.

Uptime

W ramach side questa potrzebowałem monitoringu dostępności stron WWW, z API i dość dużą liczbą monitorowanych serwisów. Powiedzmy od 100 w górę. I najchętniej za darmo, bo potrzebuję tylko do PoCa. I fajnie, jakby umiał monitorować nieco częściej, niż raz na 5 minut.

Zdziwiłem się, bo okazało się, że… nie ma. A przynajmniej nie znalazłem. Oczywiście jest Uptime Robot, którego – jak się okazało – używam od ponad dekady. Z własnym narzędziem do wyświetlania dashboardu. No ale tam mam sporo slotów zużytych z 50, które może od biedy by wystarczyły.

Jestem zdziwiony, bo tego typu monitoring jest w miarę tani. Bo czymże jest request HTTP czy wysłanie pakietu ICMP raz na minutę i zapamiętanie stanu. A dla wysyłki poczty (SMTP relay) serwisów pozwalających nawet niewielkie newslettery jest całkiem spory wybór. I wygląda na nieco bardziej inwazyjne, potencjalnie (spam). No ale nie ma i co zrobisz, trzeba selfhostować. Za to będzie pełna dowolność w interwałach sprawdzania dostępności.

Szybko odpędziłem myśl o napisaniu własnego rozwiązania, bo tak, plik YAML z definicjami serwisów, prosty skrypt w Pythonie z wykorzystaniem biblioteki requsets, napędzany cronem spokojnie by wystarczył do tego, co chcę osiągnąć. Postanowiłem rozejrzeć się za gotowcami.

No i znalazłem coś, co mnie nawet zachwyciło. Nazywa się Uptime Kuma, daje API, daje ładny frontend, sensowną dokumentację w zakresie uruchomienia, obsługuje wiele kanałów powiadomień. Od początku ujęło mnie tym, że potrafi korzystać zarówno z bazy sqlite, jak i MySQL, więc przy małych zastosowaniach można sobie trzymać bazę w pliku, bez kolejnego serwera.

Oczywiście są wady. Po pierwsze nie przepadam za technologią, w której jest stworzone rozwiązanie. Po drugie, dedykowana biblioteka Pythona do obsługi API nie działa poprawnie. W sumie przez to straciłem więcej czasu, niż na uruchomienie monitorigu + reverse proxy w oparciu o nginx. Skończyło się tym, że nie korzystam z dedykowanej biblioteki, tylko robię requesty na żywca.

Gdyby ktoś chciał sobie porobić wykresy albo monitorować usługi – polecam sprawdzenie Uptime Kuma. 90k gwiazdek na GitHub nie jest przypadkiem.