Unduh dan buat EPUB buku favorit Anda dari perpustakaan Safari Books Online .
Saya tidak bertanggung jawab atas penggunaan program ini, ini hanya untuk tujuan pribadi dan pendidikan .
Sebelum penggunaan apa pun, harap baca Ketentuan Layanan O'Reilly .
safaribooks
tidak lagi berfungsi karena adanya perubahan pada ORLY API.cookies.json
, lihat di bawah dan terbitkan. Suka ❤️) --kindle
Pertama-tama, ini memerlukan instalasi python3
dan pip3
atau pipenv
.
$ git clone https://github.com/lorenzodifuccia/safaribooks.git
Cloning into ' safaribooks ' ...
$ cd safaribooks/
$ pip3 install -r requirements.txt
OR
$ pipenv install && pipenv shell
Program ini hanya bergantung pada dua modul Python 3 :
lxml >= 4.1 . 1
requests >= 2.20 . 0
Cara penggunaannya sangat mudah, cukup pilih buku dari perpustakaan dan ganti dengan perintah berikut:
email:password
dengan milik Anda sendiri. $ python3 safaribooks.py --cred " [email protected]:password01 " XXXXXXXXXXXXX
ID adalah digit yang Anda temukan di URL halaman deskripsi buku:
https://www.safaribooksonline.com/library/view/book-name/XXXXXXXXXXXXX/
Suka: 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.
Pertama kali Anda menggunakan program ini, Anda harus menentukan kredensial akun Safari Books Online Anda (lihat here
untuk karakter khusus).
Saat berikutnya Anda mengunduh buku, sebelum sesi berakhir, Anda dapat menghilangkan kredensialnya, karena program menyimpan cookie sesi Anda dalam file bernama cookies.json
.
Untuk SSO , silakan gunakan program sso_cookies.py
untuk membuat file cookies.json
dari cookie SSO yang diambil oleh sesi browser Anda (ikuti these steps
).
Berhati-hatilah jika Anda menggunakan PC bersama, karena semua orang yang memiliki akses ke file Anda dapat mencuri sesi Anda. Jika Anda tidak ingin menyimpan cookie dalam cache, cukup gunakan opsi --no-cookies
dan berikan kredensial Anda sepanjang waktu melalui opsi --cred
atau yang lebih aman --login
: ini akan meminta Anda memasukkan kredensial selama skrip eksekusi.
Anda dapat mengonfigurasi proxy dengan mengatur variabel lingkungan HTTPS_PROXY
di sistem Anda atau menggunakan direktif USE_PROXY
ke dalam skrip.
Penting : karena skrip hanya mengunduh halaman HTML dan membuat EPUB mentah, banyak arahan CSS dan XML/HTML yang salah untuk E-Reader. Untuk memastikan kualitas keluaran terbaik, saya menyarankan Anda untuk selalu mengonversi EPUB
yang diperoleh skrip ke EPUB
standar dengan Calibre. Anda juga dapat menggunakan Calibre versi baris perintah dengan ebook-convert
, misalnya:
$ 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 "
Setelah eksekusi, Anda dapat membaca 9781491958698_CLEAR.epub
di setiap E-Reader dan menghapus semua file lainnya.
Program ini juga menawarkan opsi untuk memastikan kompatibilitas terbaik bagi yang ingin mengekspor EPUB
ke E-Reader seperti Amazon Kindle: --kindle
, ini memblokir overflow pada table
dan elemen pre
(lihat contoh).
Dalam hal ini, saya menyarankan Anda untuk mengonversi EPUB
ke AZW3
dengan Calibre atau ke MOBI
, ingat dalam hal ini untuk memilih Ignore margins
dalam opsi konversi:
$ 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 !!
Hasilnya adalah (membuka file EPUB
dengan Calibre):
--kindle
: $ python3 safaribooks.py --kindle 9781491958698
Di sebelah kanan, buku dibuat dengan opsi --kindle
, di sebelah kiri tanpa (default):
Untuk masalah apa pun, jangan ragu untuk membuka masalah di sini di GitHub .
Lorenzo Di Fuccia