Skip to main content
header.png

This is a tool for downloading free O’Reilly ebooks of different categories, see http://shop.oreilly.com/category/ebooks.do.

This is not using scrapy on purpose (partly to avoid a configuration fest) and is implemented in two phases:

  1. crawling O’Reilly online shop to compile a list of URLs for PDF files to download, and

  2. downloading all files from the list created in 1.

Step 1 is done sequentially (for now), while for step 2 you can choose between a sequential and a parallel version using ‘requests’ and ‘aiohttp’, respectively.

See the files session1.txt, session2.txt and session3.txt in the docs/sessions folder for some use-cases of varying sizes.

Installation

You can install freebora with a simple pip install freebora from the Python Package Index, or after cloning or downloading this code from GitHub and running python3 setup.py install in its root directory. At the moment it is intended to work only on Python 3.

Tests

You can run the (pretty small) test suite like this:

# using py.test (needs a pip install pytest):
py.test -v tests

# using a minified version of py.test, included in runtests.py:
python3 setup.py test

Individual tests can be run like this:

py.test -s tests/test_oreilly_shop.py

Todo

  • add an async version of the function to collect URLs (step 1 above)

  • improve command-line interface

  • add feature to download not only PDFs, but other formats, too

  • add feature to interactively select individual ebooks to download

Release files for freebora 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for freebora 0.1.0
File Size Uploaded
freebora-0.1.0.tar.gz 203.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for freebora 0.1.0
File Interpreter ABI Platform
freebora-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 210.1 kB

Release files / freebora-0.1.0.tar.gz

Download URL freebora-0.1.0.tar.gz
Size 203.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4361dc67fb9210ce09bc10b55f9ce034c794edca4724fda9585a0de393b324d3
BLAKE2b-256 checksum
How to use checksums
ea2ac4c79bc8f7ebfc512c3b5c06c8d6ea9292fdf5b862ebedd54fd53453b31e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / freebora-0.1.0-py3-none-any.whl

Download URL freebora-0.1.0-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f1989b0c37598dbdc8dcd1d71bb5384455f5b2ad78740f0bd0dd4b5ba09ef932
BLAKE2b-256 checksum
How to use checksums
5c91fb31ddaaa2eb3f00729bb8a38e92a23bd324cf98c58c6a2266681a13565c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page