Skip to content

Download and generate EPUB of your favorite books from Safari Books Online library.

Notifications You must be signed in to change notification settings

gusdrawn/safaribooks

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SafariBooks

Descarga y generar archivos EPUB de tu libros favoritos desde la libreria o'Reilly (learning.oreilly.com). NO ME HAGO RESPONSABLE DEL USO DE ESTE PROGRAMA, su proposito para uso personal y educacional. Antes de usarlo por favor lee los Terminos y Condiciones

Overview:

Requirements & Setup:

$ git clone https://github.com/gusdrawn/safaribooks.git
Cloning into 'safaribooks'...

$ cd safaribooks/
$ pip3 install -r requirements.txt

ó

$ pipenv install && pipenv shell

Este programa despende de solo dos modulos Python 3:

lxml>=4.1.1
requests>=2.20.0

Uso:

Es bastante simple, solo elige un libro desde la libreria y reemplaza con el siguiente comando:

  • X es el ID,
  • email:password con tu cuenta.
$ python3 safaribooks.py --cred "[email protected]:password01" XXXXXXXXXXXXX

El ID son los digitos que puedes encontrar en la URL del libro en particular: https://learning.oreilly.com/library/view/ccnp-and-ccie/XXXXXXXXXXXX/`
Like: https://learning.oreilly.com/library/view/ccnp-and-ccie/9780136555735/ch01.html

English description only:

Program options:

$ python3 safaribooks.py --help
usage: safaribooks.py [--cred <EMAIL:PASS> | --login] [--no-cookies] [--no-kindle]
                      [--preserve-log] [--help]
                      <BOOK ID>

Download and generate 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://www.safaribooksonline.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.
  --no-kindle          Remove some CSS rules that block overflow on `table`
                       and `pre` elements. Use this option if you're not 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.

The first time you use the program, you'll have to specify your Safari Books Online account credentials (look here for special character). The next times you'll download a book, before session expires, you can omit the credential, because the program save your session cookies in a file called cookies.json (for SSO look the file format here).

Pay attention if you use a shared PC, because everyone that has access to your files can steal your