1922 fantastyczne teksty (a nawet więcej) za darmo w pliku EPUB

W ostatnim czasie ćwiczę się coraz bardziej w pisaniu różnych wprawek literackich i postanowiłem przejrzeć sobie również gotowe teksty ze strony fantastyka.pl, ale... nie są one dostępne w łatwej do czytania na komórce formie.

W tym momencie postanowiłem zaprząc do roboty szare komórki i w trakcie wolnego czasu napisać krótki skrypt, który pobrałby zawartość wspomnianej strony (a konkretnie biblioteki, w której przynajmniej w teorii umieszczone są specjalnie wyselekcjonowane utwory) i stworzył mi małego, ślicznego i łatwego do czytania EPUB-a.

Podobne zabawy robiłem przez lata - konwertowałem sobie np. różne strony i artykuły do plików CHM, formatowałem ustawy z PDF do plików HTML wymaganych przez engine "Przepisów drogowych", zrobiłem wyszukiwarkę ebooków "przeglądającą" najpopularniejsze serwisy (aplikacja "Poczytaj mi tato"), itp.

Jak postanowiłem, tak zrobiłem...

Skrypt został udostępniony pod adresem https://github.com/marcinwiacek/fantastyka - sprawdziłem go pod Ubuntu z doinstalowanym PHP.

Uruchamiamy go po prostu wpisując z linii komend "php nazwa_skryptu" - pobiera strony, przekształca ich treść w XHTML, dodaje m.in. spis treści, kopiuje plik z okładką i pakuje wszystko do ZIP-a, któremu następnie zmienia rozszerzenie na EPUB.

Z plików pobieram info o autorze, tagi, notki, itp., zaś zamiast obrazków podaję linki (plik z nimi miał bodajże coś koło 200 MB)

Pliku wynikowego celowo nie dodałem do repozytorium - nie chcę, żeby ktoś mnie ciągał o prawa autorskie.

Jeżeli chodzi o czytniki:

  • PocketBook na Androida - czyta plik OK, jest szybki, nie pokazywał mi poszczególnych rozdziałów, gdy pliki XHTML miały błędy
  • Lithium na Androida - czyta plik OK, jest szybki, pokazywał błędy w rozdziałach (gdy jeszcze były)
  • Calibre na Windows - czyta plik OK, średnio szybki
  • csBook na Ubuntu - czyta plik OK, jest szybki, pokazywał błędy w rozdziałach (gdy jeszcze były)
  • Okular na Ubuntu - czyta plik OK, koszmarnie wolny, można zapomnieć

Dziękuję za uwagę.

PS. Nie zależy mi na chwaleniu się, jakość kodu skryptu też jest wystarczająca dla moich celów (jeżeli ktoś chce poprawić, proszę o commita). 

Update 17.2: pewna dyskusja została otwarta pod adresem https://www.fantastyka.pl/hydepark/pokaz/23925 (a ja również w międzyczasie dodałem opcję wznawiania pobierania, obsługi archiwum i poczekalni i zrobiłem dużo poprawek zarówno w skrypcie dotyczącym fantastyka.pl jak i fantastykapolska.pl)