قم بتنزيل وإنشاء EPUB لكتبك المفضلة من مكتبة Safari Books Online .
لست مسؤولاً عن استخدام هذا البرنامج، فهو للأغراض الشخصية والتعليمية فقط.
قبل أي استخدام، يرجى قراءة شروط خدمة O'Reilly .
safaribooks
يعمل بسبب التغييرات في واجهات برمجة تطبيقات ORLY.cookies.json
، انظر أدناه والمشكلات. أحب ❤️) --kindle
أولاً، يتطلب الأمر تثبيت python3
و pip3
أو pipenv
.
$ git clone https://github.com/lorenzodifuccia/safaribooks.git
Cloning into ' safaribooks ' ...
$ cd safaribooks/
$ pip3 install -r requirements.txt
OR
$ pipenv install && pipenv shell
يعتمد البرنامج على وحدتين فقط من Python 3 :
lxml >= 4.1 . 1
requests >= 2.20 . 0
إنه حقًا سهل الاستخدام، ما عليك سوى اختيار كتاب من المكتبة واستبداله بالأمر التالي:
email:password
الخاصة بك. $ python3 safaribooks.py --cred " [email protected]:password01 " XXXXXXXXXXXXX
المعرف هو الأرقام التي تجدها في عنوان URL لصفحة وصف الكتاب:
https://www.safaribooksonline.com/library/view/book-name/XXXXXXXXXXXXX/
مثل: 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.
في المرة الأولى التي تستخدم فيها البرنامج، سيتعين عليك تحديد بيانات اعتماد حساب Safari Books Online (ابحث here
عن الحرف الخاص).
في المرة التالية التي ستقوم فيها بتنزيل كتاب، قبل انتهاء صلاحية الجلسة، يمكنك حذف بيانات الاعتماد، لأن البرنامج يحفظ ملفات تعريف الارتباط الخاصة بجلستك في ملف يسمى cookies.json
.
بالنسبة إلى الدخول الموحّد (SSO) ، يرجى استخدام برنامج sso_cookies.py
لإنشاء ملف cookies.json
من ملفات تعريف الارتباط (SSO) التي تم استردادها بواسطة جلسة المتصفح (يُرجى اتباع these steps
).
انتبه إذا كنت تستخدم جهاز كمبيوتر مشتركًا، لأن أي شخص لديه حق الوصول إلى ملفاتك يمكنه سرقة جلستك. إذا كنت لا ترغب في تخزين ملفات تعريف الارتباط مؤقتًا، فما عليك سوى استخدام خيار --no-cookies
وتوفير بيانات الاعتماد الخاصة بك طوال الوقت من خلال خيار --cred
أو خيار --login
الأكثر أمانًا: سيطالبك هذا ببيانات الاعتماد أثناء البرنامج النصي تنفيذ.
يمكنك تكوين الوكلاء عن طريق تعيين متغير البيئة HTTPS_PROXY
على نظامك أو استخدام التوجيه USE_PROXY
في البرنامج النصي.
هام : نظرًا لأن البرنامج النصي يقوم فقط بتنزيل صفحات HTML وإنشاء ملف EPUB أولي، فإن العديد من توجيهات CSS وXML/HTML خاطئة بالنسبة للقارئ الإلكتروني. لضمان أفضل جودة للمخرجات، أقترح عليك دائمًا تحويل ملف EPUB
الذي حصل عليه البرنامج النصي إلى EPUB
القياسي باستخدام Calibre. يمكنك أيضًا استخدام إصدار سطر الأوامر من Caliber مع ebook-convert
، على سبيل المثال:
$ 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 "
بعد التنفيذ، يمكنك قراءة 9781491958698_CLEAR.epub
في كل قارئ إلكتروني وحذف كافة الملفات الأخرى.
يوفر البرنامج أيضًا خيارًا لضمان أفضل التوافق لمن يريد تصدير EPUB
إلى أجهزة القراءة الإلكترونية مثل Amazon Kindle: --kindle
، فهو يمنع الفائض على table
والعناصر pre
(انظر المثال).
في هذه الحالة، أقترح عليك تحويل EPUB
إلى AZW3
باستخدام Caliber أو إلى MOBI
، وتذكر في هذه الحالة تحديد Ignore margins
في خيارات التحويل:
$ 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 !!
ستكون النتيجة (فتح ملف EPUB
باستخدام Calibre):
--kindle
: $ python3 safaribooks.py --kindle 9781491958698
على اليمين، الكتاب الذي تم إنشاؤه باستخدام خيار --kindle
، وعلى اليسار بدون (افتراضي):
في حالة وجود أي نوع من المشاكل، من فضلك لا تتردد في فتح مشكلة هنا على GitHub .
لورنزو دي فوتشيا