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:
crawling O’Reilly online shop to compile a list of URLs for PDF files to download, and
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
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| freebora-0.1.0.tar.gz | 203.8 kB | Without provenance | Details for freebora-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| freebora-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for freebora-0.1.0-py3-none-any.whl |
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 |
Security for freebora 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.