Laden Sie EPUB Ihrer Lieblingsbücher aus der Safari Books Online -Bibliothek herunter und generieren Sie sie.
Ich bin nicht verantwortlich für die Nutzung dieses Programms, es dient nur persönlichen und pädagogischen Zwecken.
Bitte lesen Sie vor jeder Nutzung die Nutzungsbedingungen von O'Reilly .
safaribooks
funktioniert aufgrund von Änderungen in den ORLY-APIs nicht mehr.cookies.json
, siehe unten und Probleme. Liebe Grüße ❤️) --kindle
oder nicht Zunächst müssen python3
und pip3
oder pipenv
installiert sein.
$ git clone https://github.com/lorenzodifuccia/safaribooks.git
Cloning into ' safaribooks ' ...
$ cd safaribooks/
$ pip3 install -r requirements.txt
OR
$ pipenv install && pipenv shell
Das Programm besteht aus nur zwei Python 3 -Modulen:
lxml >= 4.1 . 1
requests >= 2.20 . 0
Die Verwendung ist wirklich einfach. Wählen Sie einfach ein Buch aus der Bibliothek aus und ersetzen Sie es mit dem folgenden Befehl:
email:password
mit Ihrem eigenen. $ python3 safaribooks.py --cred " [email protected]:password01 " XXXXXXXXXXXXX
Die ID besteht aus den Ziffern, die Sie in der URL der Buchbeschreibungsseite finden:
https://www.safaribooksonline.com/library/view/book-name/XXXXXXXXXXXXX/
Gefällt mir: https://www.safaribooksonline.com/library/view/test-driven-development-with/9781491958698/
$ python3 safaribooks.py --help
usage: safaribooks.py [--cred < EMAIL:PASS > | --login] [--no-cookies]
[--kindle] [--preserve-log] [--help]
< BOOK ID >
Download and generate an EPUB of your favorite books from Safari Books Online.
positional arguments:
< BOOK ID > Book digits ID that you want to download. You can find
it in the URL (X-es):
` https://learning.oreilly.com/library/view/book-
name/XXXXXXXXXXXXX/ `
optional arguments:
--cred < EMAIL:PASS > Credentials used to perform the auth login on Safari
Books Online. Es. ` --cred
" [email protected]:password01 " ` .
--login Prompt for credentials used to perform the auth login
on Safari Books Online.
--no-cookies Prevent your session data to be saved into
` cookies.json ` file.
--kindle Add some CSS rules that block overflow on ` table ` and
` pre ` elements. Use this option if you ' re going to
export the EPUB to E-Readers like Amazon Kindle.
--preserve-log Leave the `info_XXXXXXXXXXXXX.log` file even if there
isn ' t any error.
--help Show this help message.
Wenn Sie das Programm zum ersten Mal verwenden, müssen Sie die Anmeldeinformationen für Ihr Safari Books Online-Konto angeben (achten Sie here
auf Sonderzeichen).
Wenn Sie das nächste Mal ein Buch herunterladen, bevor die Sitzung abläuft, können Sie die Anmeldeinformationen weglassen, da das Programm Ihre Sitzungscookies in einer Datei namens cookies.json
speichert.
Für SSO verwenden Sie bitte das Programm sso_cookies.py
, um die Datei cookies.json
aus den von Ihrer Browsersitzung abgerufenen SSO-Cookies zu erstellen (folgen Sie bitte these steps
).
Seien Sie vorsichtig, wenn Sie einen gemeinsam genutzten PC verwenden, da jeder, der Zugriff auf Ihre Dateien hat, Ihre Sitzung stehlen kann. Wenn Sie die Cookies nicht zwischenspeichern möchten, verwenden Sie einfach die Option --no-cookies
und geben Sie Ihre Anmeldeinformationen jederzeit über die Option --cred
oder die sicherere Option --login
an: Dadurch werden Sie während des Skripts zur Eingabe Ihrer Anmeldeinformationen aufgefordert Ausführung.
Sie können Proxys konfigurieren, indem Sie auf Ihrem System die Umgebungsvariable HTTPS_PROXY
festlegen oder die USE_PROXY
Direktive im Skript verwenden.
Wichtig : Da das Skript nur HTML-Seiten herunterlädt und ein rohes EPUB erstellt, sind viele der CSS- und XML/HTML-Anweisungen für einen E-Reader falsch. Um die beste Qualität der Ausgabe zu gewährleisten, empfehle ich Ihnen, das vom Skript erhaltene EPUB
immer mit Calibre in Standard EPUB
zu konvertieren. Sie können auch die Befehlszeilenversion von Calibre mit ebook-convert
verwenden, z. B.:
$ ebook-convert " XXXX/safaribooks/Books/Test-Driven Development with Python 2nd Edition (9781491958698)/9781491958698.epub " " XXXX/safaribooks/Books/Test-Driven Development with Python 2nd Edition (9781491958698)/9781491958698_CLEAR.epub "
Nach der Ausführung können Sie die 9781491958698_CLEAR.epub
in jedem E-Reader lesen und alle anderen Dateien löschen.
Das Programm bietet auch eine Option, um beste Kompatibilität für diejenigen sicherzustellen, die EPUB
auf E-Reader wie Amazon Kindle exportieren möchten: --kindle
, es blockiert den Überlauf bei table
und pre
Elementen (siehe Beispiel).
In diesem Fall empfehle ich Ihnen, das EPUB
mit Calibre in AZW3
oder in MOBI
zu konvertieren. Denken Sie in diesem Fall daran, in den Konvertierungsoptionen Ignore margins
auszuwählen:
$ python3 safaribooks.py --cred " [email protected]:MyPassword1! " 9781491958698
____ ___ _
/ __/__ _/ _/__ _____(_)
_ / _ ` / _/ _ ` / __/ /
/___/ _ ,_/_/ _ ,_/_/ /_/
/ _ )___ ___ / /__ ___
/ _ / _ / _ / ' _/(_-<
/____/___/___/_/_/___/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[-] Logging into Safari Books Online...
[*] Retrieving book info...
[-] Title: Test-Driven Development with Python, 2nd Edition
[-] Authors: Harry J.W. Percival
[-] Identifier: 9781491958698
[-] ISBN: 9781491958704
[-] Publishers: O ' Reilly Media, Inc.
[-] Rights: Copyright © O ' Reilly Media, Inc.
[-] Description: By taking you through the development of a real web application
from beginning to end, the second edition of this hands-on guide demonstrates the
practical advantages of test-driven development (TDD) with Python. You’ll learn
how to write and run tests before building each part of your app, and then develop
the minimum amount of code required to pass those tests. The result? Clean code
that works.In the process, you’ll learn the basics of Django, Selenium, Git,
jQuery, and Mock, along with curre...
[-] Release Date: 2017-08-18
[-] URL: https://learning.oreilly.com/library/view/test-driven-development-with/9781491958698/
[*] Retrieving book chapters...
[*] Output directory:
/XXXX/safaribooks/Books/Test-Driven Development with Python 2nd Edition (9781491958698)
[-] Downloading book contents... (53 chapters)
[#####################################################################] 100%
[-] Downloading book CSSs... (2 files)
[#####################################################################] 100%
[-] Downloading book images... (142 files)
[#####################################################################] 100%
[-] Creating EPUB file...
[*] Done: /XXXX/safaribooks/Books/Test-Driven Development with Python 2nd Edition
(9781491958698)/9781491958698.epub
If you like it, please * this project on GitHub to make it known:
https://github.com/lorenzodifuccia/safaribooks
e don ' t forget to renew your Safari Books Online subscription:
https://learning.oreilly.com
[ ! ] Bye !!
Das Ergebnis wird sein (Öffnen der EPUB
Datei mit Calibre):
--kindle
oder nicht: $ python3 safaribooks.py --kindle 9781491958698
Rechts das mit der Option --kindle
erstellte Buch, links ohne (Standard):
Bei Problemen jeglicher Art zögern Sie bitte nicht, hier auf GitHub ein Problem zu eröffnen.
Lorenzo Di Fuccia