Teraz jest 25 kwi 2024 19:20:38




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 75 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5  Następna strona
Biblia na czytnik 
Autor Wiadomość
Użytkownik

Dołączył(a): 26 gru 2010 16:08:37
Posty: 20
eCzytnik: kindle
Post Re: Biblia na czytnik
czasem można się pogubić ...


07 lut 2011 20:20:19
Zobacz profil
SwiatCzytnikow.pl
Avatar użytkownika

Dołączył(a): 14 sie 2010 11:00:21
Posty: 1873
eCzytnik: kindle, onyx, nook, kobo, pb, ipad
Post Re: Biblia na czytnik
http://swiatczytnikow.pl/biblia-na-kind ... u-theword/
http://piotrkontek.wordpress.com/2011/0 ... na-kindle/

Tu pomysł na skonwertowanie do HTML plików programu TheWord, a zrobienie z tego EPUB/MOBI jest już proste.

A wspomniana wyżej HCSB jest już od pewnego czasu za darmo :)

_________________
http://swiatczytnikow.pl (dawniej: Świat Kindle)
http://ebooki.swiatczytnikow.pl - (prawie) wszystkie polskie e-booki w jednym miejscu, czyli porównywarka ofert księgarni.


31 maja 2011 13:49:57
Zobacz profil WWW
Admin

Dołączył(a): 13 cze 2008 14:47:02
Posty: 2835
Lokalizacja: Gdańsk
eCzytnik: kindle
Post Re: Biblia na czytnik
Mój pythonowy skrypt dojrzał na tyle, że można zacząć z nim eksperymentować:
https://github.com/t3d/project_b/blob/m ... oject_b.py
Wymaga pythona i lxml. Skrypt ma pobierać księgi pisma świętego i robić z nich zbiorczy plik html z przypisami na końcu.
Aktualnie jest ustawiony na pobieranie wszystkich ksiąg starego testamentu i wywalanie ich na ekran, więc można przekierować wyjście do pliku wywołując go
Kod:
python project_b.py > plik.html

Samo pobieranie trwa dobre kilka minut i owocuje około ośmiomegabajtowym plikiem, który potrafi na chwilę przymulić przeglądarkę.

Jest tu jeszcze kilka rzeczy do poprawienia. Na razie zauważyłem, że gubiona jest treść przypisów w niektórych rozdziałach, a poza tym gdzieś leży niedomknięty tag, który powoduje, że od pewnego miejsca cała treść jest pisana kursywą.

EDIT:
Błąd z kursywą zlokalizowany w przypisach: http://biblia.deon.pl/rozdzial.php?id=1205
Ciekawe, czy jak dam znać adminom, to naprawią... :P

EDIT2:
Uporałem się z przypisami i kursywą. Został mi tylko jeden rozpoznany defekt, a mianowicie dziwna sytuacja z przypisem bez linku przy Sdz 1,1: http://biblia.deon.pl/rozdzial.php?id=1137

_________________
Zgred - Rafał Ziemkiewicz napisał(a):
Dziś trzeba pisać o mieczach, czarach, toporach i wojowniczkach w blaszanych bikini, wszystko inne to już jest nisza w niszy. Albo o nastoletnich wampirach.
Porównywarka cen ebooków


15 sie 2011 19:45:32
Zobacz profil WWW
Użytkownik
Avatar użytkownika

Dołączył(a): 13 lut 2011 0:26:45
Posty: 259
Lokalizacja: Kraków
eCzytnik: Onyx Boox X60
Post Re: Biblia na czytnik
Nie wiem, czy czegoś więcej potrzeba niż mam zainstalowane, ale nie mogę tym skryptem ściągnąć nic. Po 20 minutach oczekiwania wciskam ctrl+c i dostaję informację:
Kod:
Traceback (most recent call last):
  File "project_b.py", line 138, in <module>
    test.GetBook(book)
  File "project_b.py", line 44, in GetBook
    response = urllib2.urlopen(urllib2.Request(url, data)).read()
  File "/usr/lib/python2.6/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.6/urllib2.py", line 397, in open
    response = meth(req, response)
  File "/usr/lib/python2.6/urllib2.py", line 510, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.6/urllib2.py", line 429, in error
    result = self._call_chain(*args)
  File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.6/urllib2.py", line 616, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "/usr/lib/python2.6/urllib2.py", line 391, in open
    response = self._open(req, data)
  File "/usr/lib/python2.6/urllib2.py", line 409, in _open
    '_open', req)
  File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.6/urllib2.py", line 1172, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib/python2.6/urllib2.py", line 1144, in do_open
    h.request(req.get_method(), req.get_selector(), req.data, headers)
  File "/usr/lib/python2.6/httplib.py", line 910, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.6/httplib.py", line 947, in _send_request
    self.endheaders()
  File "/usr/lib/python2.6/httplib.py", line 904, in endheaders
    self._send_output()
  File "/usr/lib/python2.6/httplib.py", line 776, in _send_output
    self.send(msg)
  File "/usr/lib/python2.6/httplib.py", line 735, in send
    self.connect()
  File "/usr/lib/python2.6/httplib.py", line 716, in connect
    self.timeout)
  File "/usr/lib/python2.6/socket.py", line 500, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
KeyboardInterrupt


Zainstalowane pod linuksem mam pythona 2.6.5 i python-lxml-2.2.6


16 sie 2011 11:43:24
Zobacz profil WWW
Admin

Dołączył(a): 13 cze 2008 14:47:02
Posty: 2835
Lokalizacja: Gdańsk
eCzytnik: kindle
Post Re: Biblia na czytnik
Dodałem dziś generowanie spisu treści (linki do poszczególnych ksiąg). I natrfiłem na kolejną księgę ze źle zrobionymi przypisami: http://biblia.deon.pl/rozdzial.php?id=17 (rozjechane numery).

Zefiryn napisał(a):
Nie wiem, czy czegoś więcej potrzeba niż mam zainstalowane, ale nie mogę tym skryptem ściągnąć nic.

A co zapisał do pliku?

_________________
Zgred - Rafał Ziemkiewicz napisał(a):
Dziś trzeba pisać o mieczach, czarach, toporach i wojowniczkach w blaszanych bikini, wszystko inne to już jest nisza w niszy. Albo o nastoletnich wampirach.
Porównywarka cen ebooków


16 sie 2011 13:06:45
Zobacz profil WWW
Użytkownik
Avatar użytkownika

Dołączył(a): 13 lut 2011 0:26:45
Posty: 259
Lokalizacja: Kraków
eCzytnik: Onyx Boox X60
Post Re: Biblia na czytnik
Przy wypisywaniu na ekran doszedł do zamknięcia sekcji head i tak zawisł. Po dwudziestu minutach ubiłem proces i wysokczył powyższy zrzut. Przy przekierowaniu do pliku po ubiciu plik był pusty.


16 sie 2011 14:53:50
Zobacz profil WWW
Admin

Dołączył(a): 13 cze 2008 14:47:02
Posty: 2835
Lokalizacja: Gdańsk
eCzytnik: kindle
Post Re: Biblia na czytnik
Hm, a spróbuj zamienić
Kod:
            response = urllib2.urlopen(urllib2.Request(url, data)).read()
            doc = html.fromstring(response)

na
Kod:
            response = urllib2.urlopen(urllib2.Request(url, data))
            doc = html.fromstring(response.read())
            response.close()

i koniecznie daj mi znać :D

_________________
Zgred - Rafał Ziemkiewicz napisał(a):
Dziś trzeba pisać o mieczach, czarach, toporach i wojowniczkach w blaszanych bikini, wszystko inne to już jest nisza w niszy. Albo o nastoletnich wampirach.
Porównywarka cen ebooków


16 sie 2011 15:33:43
Zobacz profil WWW
Użytkownik
Avatar użytkownika

Dołączył(a): 13 lut 2011 0:26:45
Posty: 259
Lokalizacja: Kraków
eCzytnik: Onyx Boox X60
Post Re: Biblia na czytnik
To chyba uroda mojego połączenia. Kiedy skróciłem tablicę z księgami do pierwszej oraz ilość ksiąg do 1, to plik ładnie się utworzył. Teraz od 4 minut próbuję ściągnąć całą księgę rodzaju. iptraf pokazuje mi, że jest nawiązywane połączenie i ściąga się ok 20kb tylko trwa to dość długo. Przerobienie połączeń dla wszystkich ksiąg może u mnie potrwać. Zobaczę ile zajmie Księga Rodzaju.


16 sie 2011 16:01:38
Zobacz profil WWW
Admin

Dołączył(a): 13 cze 2008 14:47:02
Posty: 2835
Lokalizacja: Gdańsk
eCzytnik: kindle
Post Re: Biblia na czytnik
Księga Rodzaju akurat nie należy do krótkich i jeśli poprzednio nie miałeś nic po 20 minutach, to znaczy że nie pobrałeś tej księgi do końca (aktualnie tekst ksiąg jest wyrzucany na output w partiach po 1 księdze z przypisami na raz). Możesz sobie potestować np. na "Ag" - jedynie 2 rozdziały :).

Możesz w ogóle wyciąć pętlę
Kod:
for book in oldTes:
    test.GetBook(book)
    test.PrintBookContent()
    #print book

A na jej miejsce wpisać
Kod:
test.GetBook('Ag') # w apostrofach nazwa księgi taka jak w oldTes, albo newTes
test.PrintBookContent()

_________________
Zgred - Rafał Ziemkiewicz napisał(a):
Dziś trzeba pisać o mieczach, czarach, toporach i wojowniczkach w blaszanych bikini, wszystko inne to już jest nisza w niszy. Albo o nastoletnich wampirach.
Porównywarka cen ebooków


16 sie 2011 17:43:54
Zobacz profil WWW
Użytkownik
Avatar użytkownika

Dołączył(a): 13 lut 2011 0:26:45
Posty: 259
Lokalizacja: Kraków
eCzytnik: Onyx Boox X60
Post Re: Biblia na czytnik
Po 30 minutach udało mi się pobrać Księgę Rodzaju. Za bardzo zasugerowałem się informacją, że pobieranie trwa tylko kilka minut, t3d musi mieć lepsze łącze.


16 sie 2011 21:04:09
Zobacz profil WWW
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lis 2009 20:20:04
Posty: 1433
Lokalizacja: Kraków
eCzytnik: inkBOOK Onyx
Post Re: Biblia na czytnik
t3d napisał(a):
Możesz w ogóle wyciąć pętlę
Kod:
for book in oldTes:
    test.GetBook(book)
    test.PrintBookContent()
    #print book

A na jej miejsce wpisać
Kod:
test.GetBook('Ag') # w apostrofach nazwa księgi taka jak w oldTes, albo newTes
test.PrintBookContent()

U mnie pod Windows XP (python 2.6.5 + lxml 2.2.4) działa - pisze ładnie do pliku. Ale aktualna wersja, z pętlą czy bez, po wpisaniu nazwy księgi, ładuje do pliku pełny spis treści i wkleja daną księgę tyle razy ile jest wszystkich ksiąg ;)

_________________
W Obrazek też ;)


17 sie 2011 1:06:45
Zobacz profil WWW
Admin

Dołączył(a): 13 cze 2008 14:47:02
Posty: 2835
Lokalizacja: Gdańsk
eCzytnik: kindle
Post Re: Biblia na czytnik
tak, pobieranie jednej księgi to na razie nieoficjalny hack :P

Na razie chcę jeszcze wyeliminować defekty w treści (w nowym testamencie zostały 2 miejsca gdzie są złe linki). Następny etap to będzie przestawienie skryptu na działanie na plikach i pobieranie parametrów z linii poleceń. Będę musiał pomyśleć nad jaką sensowną składnią.
Obecnie mam taki plan:
1. parametr ustawiający co pobrać z 4 opcjami:
  • komplet ksiąg Starego i Nowego Testamentu (wraz ze spisem)
  • tylko NT (i spis NT)
  • tylko ST (i spis ST)
  • wybrana księga bez spisu
2. parametr określający plik wyjściowy (opcjonalnie)

_________________
Zgred - Rafał Ziemkiewicz napisał(a):
Dziś trzeba pisać o mieczach, czarach, toporach i wojowniczkach w blaszanych bikini, wszystko inne to już jest nisza w niszy. Albo o nastoletnich wampirach.
Porównywarka cen ebooków


17 sie 2011 11:28:49
Zobacz profil WWW
Admin

Dołączył(a): 13 cze 2008 14:47:02
Posty: 2835
Lokalizacja: Gdańsk
eCzytnik: kindle
Post Re: Biblia na czytnik
Mam kilka dobrych wiadomości.
1. Dostałem feedback od jezuitów z deon.pl i zauważone przeze mnie błędy są poprawiane (więc moje ich obejścia wylatują ze skryptu).
2. Skrypt powinien szybciej obrabiać pobrane treści, bo pracuje teraz na listach, a nie na łańcuchach.
3. Można już używać parametrów z linii poleceń, które ustawiają co chcemy pobierać (do wyboru: "stary", ""nowy", "wszystko", lub skrócona nazwa księgi). W zależności od tego co pobieramy zostanie dodany adekwatny spis treści (lub nie, w przypadku pojedyńczej księgi).
4. Jeśli parametr poda się niepoprawnie, to skrypt wyświetla listę obsługiwanych argumentów.

Mamy też 1 tymczasowy efekt uboczny, a mianowicie jeśli chcemy pobrać księgę której nazwie są polskie znaki (Kpł lub Łk), to python wyświetli ostrzeżenia związane z obsługą unikodu. Postaram się z tym niebawem uporać. Jeśli stosuje się zapis do pliku przez przekierowanie, to i tak treść będzie nienaruszona.

EDIT: Wygląda na to, że kryzys związany z kodowaniem jest już zażegnany :)

_________________
Zgred - Rafał Ziemkiewicz napisał(a):
Dziś trzeba pisać o mieczach, czarach, toporach i wojowniczkach w blaszanych bikini, wszystko inne to już jest nisza w niszy. Albo o nastoletnich wampirach.
Porównywarka cen ebooków


24 sie 2011 16:16:56
Zobacz profil WWW
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lis 2009 20:20:04
Posty: 1433
Lokalizacja: Kraków
eCzytnik: inkBOOK Onyx
Post Re: Biblia na czytnik
Dzięki :)
Udało mi się na starej wersji "skompilować" osobno Stary i Nowy Testament, ale jak na razie Calibre wymiękało u mnie przy próbie zrobienia z tego epub-a.
Widzę, że teraz będzie można wybrać potrzebną pojedynczą księgę :)
Jeśli możesz podaj dokładną składnię dla takiej pojedynczej księgi, bo coś chyba za gorąco i mi nie wchodzi pod windą ani 'Rdz' ani <'Rdz'>

Jeszcze raz dzięki.

_________________
W Obrazek też ;)


24 sie 2011 16:48:50
Zobacz profil WWW
Admin

Dołączył(a): 13 cze 2008 14:47:02
Posty: 2835
Lokalizacja: Gdańsk
eCzytnik: kindle
Post Re: Biblia na czytnik
Dodałem teraz opcję "lista", która wyświetla listę skróconych nazw ksiąg w formie zrozumiałej dla skryptu.

airs napisał(a):
Jeśli możesz podaj dokładną składnię dla takiej pojedynczej księgi, bo coś chyba za gorąco i mi nie wchodzi pod windą ani 'Rdz' ani <'Rdz'>

Powinno działać samo
Cytuj:
python project_b.py Rdz


Trzeba jednak użyć jakiegoś obejścia w przypadku nazw ze spacjami, jak "2 J". na linuksie można całą nazwę opakować w cudzysłowy, albo dać \ przed spacją. Jak się z tym uporać na windowsie nie wiem :D

airs napisał(a):
Udało mi się na starej wersji "skompilować" osobno Stary i Nowy Testament, ale jak na razie Calibre wymiękało u mnie przy próbie zrobienia z tego epub-a.
Teraz powinno się dać bez problemu, po wybraniu opcji "wszystko". Przy robieniu konwersji warto odznaczyć w calibre generowanie spisu treści, bo potworzy jakieś bzdury.

_________________
Zgred - Rafał Ziemkiewicz napisał(a):
Dziś trzeba pisać o mieczach, czarach, toporach i wojowniczkach w blaszanych bikini, wszystko inne to już jest nisza w niszy. Albo o nastoletnich wampirach.
Porównywarka cen ebooków


25 sie 2011 10:31:59
Zobacz profil WWW
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 75 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5  Następna strona


Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów

Skocz do:  
cron