Skip to main content

Bulk Springer Textbook Downloader

Project description

springer

Downloading Springer Textbook Bulk Download Tool

NOTICE

The author of this software is not affiliated with Springer and this tool is not authorized or supported by Springer. Thank you to Springer for making these high quality textbooks available at no cost.

"With the Coronavirus outbreak having an unprecedented impact on education, Springer Nature is launching a global program to support learning and teaching at higher education institutions worldwide. Remote access to educational resources has become essential. We want to support lecturers, teachers and students during this challenging period and hope that this initiative will go some way to help.

Institutions will be able to access more than 500 key textbooks across Springer Nature’s eBook subject collections for free. In addition, we are making a number of German-language Springer medical training books on emergency nursing freely accessible. These books will be available via SpringerLink until at least the end of July."

Source

Overview

This tool automates the process of downloading the Springer-provided Excel catalogs, locating URLs and downloading the files in PDF or epub format.

Catalogs are lists of books in a specific language, spanning a topic. Catalogs are further subdivided into packages which are books grouped by sub-topics.

Textbooks can be downloaded by; title, package name or the entire catalog. Title and package names can be incompletely specified and are case-insensitive.

The available languages are: English & German.

The available topics are: All Disciplines and Emergency Nursing.

Note: The Emergency Nursing topic is not available in English.

Source and License

Full source is available on GitHub and it is licensed under the Apache-2.0 license.

Installation

This utility can be installed using pip:

$ python3 -m pip install springer

Or from the latest source on GitHub:

$ python3 -m pip install git+https://github.com/JnyJny/springer_downloader

Usage:

$ springer [OPTIONS] COMMAND [ARGS]...

Options:

  • -L, --language [en|de]: Choose catalog language
  • -T, --topic [all|med]: Choose a catalog topic.
  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.

Commands:

  • clean-catalog: Remove cached catalogs.
  • download: Download textbooks from Springer This command...
  • get-default-catalog: Print the default catalog identifier.
  • list: List books, package, packages, catalog or...
  • refresh-catalog: Refresh the cached catalog of springer...
  • set-default-catalog: Set default catalog language and topic.

springer clean-catalog

Remove cached catalogs.

Examples

Remove the cached default catalog:

$ springer clean-catalog --force

Remove the cached German language Emergency Nursing catalog:

$ springer --language de --topic med clean-catalog --force

Remove all catalogs:

$ springer clean-catalog --force --all

Usage:

$ springer clean-catalog [OPTIONS]

Options:

  • -F, --force
  • --all
  • --help: Show this message and exit.

springer download

Download textbooks from Springer

This command downloads textbooks from Springer to the local host. Files are saved by default in PDF format to the current working directory.

If a download is interrupted by the user, it can be later restarted where the interruption occurred without downloading previous files.

Problems encountered while downloading files are logged to:

dest-path/DOWNLOAD_REPORT.txt

Examples

Download all books in the default catalog in PDF format to the current directory:

$ springer download books

Download all books in EPUB format whose title includes 'python':

$ springer download books --name python --format epub

Download all books into directories grouped by package:

`$ springer download packages --dest-path by_pkgs

Download all books in a specific package in EPUB format:

$ springer download package --name 'Computer Science' --format epub

Download all books in packages whose name includes Science:

$ springer download package --name science --dest sciences

Download all books in all catalogs [en-all, de-all, de-med] in EPUB format:

$ springer download catalogs --format epub

The catalogs download subcommand will create a set of directories by language and topic for each catalog and save downloaded files into the appropriate directory, eg:

  • dest-path/English/All_Disciplines/package_name/title.fmt
  • dest-path/German/All_Disciplines/package_name/title.fmt
  • dest-path/German/Emergency_Nursing/package_name/title.fmt

The package and packages subcommands will also save downloaded files into directories with package names rooted in the destination path:

dest-path/package_name/title.fmt ...

See Also: set-default-catalog, get-default-catalog, list

Usage:

$ springer download [OPTIONS] [catalogs|catalog|packages|package|books]

Options:

  • -n, --name TEXT: Name to match against title or package.
  • -d, --dest-path PATH: Destination directory for downloaded files. [default: /Users/ejo/local/springer]
  • -f, --format [pdf|epub]: [default: pdf]
  • -W, --over-write: Over write downloaded files. [default: False]
  • --help: Show this message and exit.

springer get-default-catalog

Print the default catalog identifier.

This is the default catalog that will be used when listing books and packages and the user has not specified a --language or --topic on the command line.

Usage:

$ springer get-default-catalog [OPTIONS]

Options:

  • --help: Show this message and exit.

springer list

List books, package, packages, catalog or catalogs.

Display information about books, packages, and catalogs. Packages are sets of books grouped by subject.

Examples

List titles available in the default catalog:

$ springer list books

List packages available in the default catalog:

$ springer list packages

List titles available in the German language, all disciplines catalog:

$ springer --language de --topic all list books

List all eBook packages in the default catalog:

$ springer list packages

List all eBook packages in the default catalog whose name match:

$ springer list package -m science

List information about the current catalog:

$ springer list catalog

List information about the Germal language, Emergency Nursing catalog:

$ springer --language de --topic med list catalog

Usage:

$ springer list [OPTIONS] [catalogs|catalog|packages|package|books]

Options:

  • -n, --name TEXT: Name to match against title or pacakge.
  • -l, --long-format: Display selected information in a longer format. [default: False]
  • --help: Show this message and exit.

springer refresh-catalog

Refresh the cached catalog of springer textbooks.

If --all is specified, the --url option is ignored.

Examples

Update English language catalog:

$ springer --language en refresh

Update German language catalog whose topic is 'all':

$ springer --language de --topic all refresh

Update German language catalog whose topic is 'med' with a new url:

$ springer -l de -d med refresh --url https://example.com/api/endpoint/something/v11

NOTE: THIS URL DOES NOT REPLACE THE DEFAULT URL FOR THE TARGET CATALOG

Update all catalogs:

$ springer refresh-catalog --all

Usage:

$ springer refresh-catalog [OPTIONS]

Options:

  • -u, --url TEXT: URL for Excel-formatted catalog.
  • --all
  • --help: Show this message and exit.

springer set-default-catalog

Set default catalog language and topic.

Examples

Set the default catalog to German language:

$ springer --language de set-default-catalog

Set the default catalog to German and emergency nursing:

$ springer --language de --topic med set-default-catalog

Set the default catalog to English and all disciplines topic:

$ springer --language en --topic all set-default-catalog

Note: The only English language catalog is en-all.

Usage:

$ springer set-default-catalog [OPTIONS]

Options:

  • --help: Show this message and exit.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

springer-0.17.0.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

springer-0.17.0-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file springer-0.17.0.tar.gz.

File metadata

  • Download URL: springer-0.17.0.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.7.7 Darwin/19.5.0

File hashes

Hashes for springer-0.17.0.tar.gz
Algorithm Hash digest
SHA256 787c823c79e75f86767968cc36635c3c4d12f9f85c74f5e42abf9e7bfeb080ef
MD5 21e4b26a5d4ecb1036b6dd88b288a44f
BLAKE2b-256 c47e82008cfdf26342e5f2bb852bc286b12d92675b350dd1120e82c7cc8e9226

See more details on using hashes here.

File details

Details for the file springer-0.17.0-py3-none-any.whl.

File metadata

  • Download URL: springer-0.17.0-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.7.7 Darwin/19.5.0

File hashes

Hashes for springer-0.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89bfb3c1099c2d20754dc32aedd5b18e302ee4664f784385673008427e6f1c14
MD5 008d5635f707d3341d4079737625a86f
BLAKE2b-256 22f535a75e27021f2642675c887d4059e571bafa96b9aa649ae6b591087ec08d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page