Safari Books Online 라이브러리에서 좋아하는 책의 EPUB를 다운로드하고 생성하세요.
나는 이 프로그램의 사용에 대해 책임을 지지 않습니다. 이는 개인 적이고 교육적인 목적으로만 사용됩니다.
사용하기 전에 O'Reilly 의 서비스 약관을 읽어보시기 바랍니다.
safaribooks
통한 로그인이 더 이상 작동하지 않습니다.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
ID는 책 설명 페이지의 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.json
파일을 생성하려면 sso_cookies.py
프로그램을 사용하십시오( these steps
따르십시오).
공유 PC를 사용하는 경우 파일에 액세스하는 모든 사람이 세션을 도용할 수 있으므로 주의하세요. 쿠키를 캐시하지 않으려면 --no-cookies
옵션을 사용하고 --cred
옵션이나 더 안전한 --login
옵션을 통해 항상 자격 증명을 제공하세요. 이렇게 하면 스크립트 중에 자격 증명을 묻는 메시지가 표시됩니다. 실행.
시스템에서 환경 변수 HTTPS_PROXY
설정하거나 스크립트에 USE_PROXY
지시어를 사용하여 프록시를 구성할 수 있습니다.
중요 : 스크립트는 HTML 페이지만 다운로드하고 원시 EPUB를 생성하기 때문에 많은 CSS 및 XML/HTML 지시어가 E-Reader에 적합하지 않습니다. 최상의 출력 품질을 보장하려면 항상 스크립트에서 얻은 EPUB
Calibre를 사용하여 표준 EPUB
로 변환하는 것이 좋습니다. ebook-convert
와 함께 Calibre의 명령줄 버전을 사용할 수도 있습니다. 예:
$ 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 "
실행 후에는 모든 E-Reader에서 9781491958698_CLEAR.epub
을 읽을 수 있으며 다른 모든 파일은 삭제할 수 있습니다.
이 프로그램은 EPUB
Amazon Kindle과 같은 E-Reader로 내보내려는 사용자를 위해 최고의 호환성을 보장하는 옵션도 제공합니다. --kindle
, table
및 pre
요소의 오버플로를 차단합니다(예 참조).
이 경우 EPUB
Calibre를 사용하여 AZW3
으로 변환하거나 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 !!
결과는 다음과 같습니다(Cabre로 EPUB
파일 열기).
--kindle
옵션 사용 여부: $ python3 safaribooks.py --kindle 9781491958698
오른쪽에는 --kindle
옵션을 사용하여 생성된 책, 왼쪽에는 옵션 없이(기본값):
어떤 종류의 문제라도 주저하지 말고 여기 GitHub 에서 문제를 공개하세요.
로렌조 디 푸치아