Python script to download all Springer books released for free during the 2020 COVID-19 quarantine
The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:
It used to have 409 english books (it took about 4 hours to complete the download ~ 14 GB, both PDF and EPUB, on my machine), but Springer has since removed some of them from the open access.
Note: If you want just one or two specific books, get the excel file and manually download those or use the script to help you download (see Download book selectively sub-section).
By default the script stores the books in
./downloadssubfolder according to the subject ("English Package Name" column of the excel file).
Use the following command to download all PDF and EPUB books to the default download folder
bash python3 main.pyTo download them to a subfolder of your choice, say
bash python3 main.py -f ./booksYou can download to an absolute path, say
bash python3 main.py -f C:/ebooks/springer/
To download books in separate chapters (PDF only)
bash python3 main.py --dl_chapters
To download the German books use
bash python3 main.py --lang deThis language flag can be combined with any of the above and below mentioned options. If not specified,
--lang en, i.e. English, is the default.
To download all PDF books only, run
bash python3 main.py --pdfor all EPUB books only
bash python3 main.py --epub
You can download selective books by categories. Make sure category name with space(s) is enclosed in double quotation marks, like so
bash python3 main.py -c Engineering "CoMpuTer sciEnCe"The category name is case-insensitive.
You can download books by indices (refer to the excel file for the titles)
bash python3 main.py -i 2 345 70 90 0 213
If you need to know what you are downloading, enable the verbose mode with
bash python3 main.py -v -c "Behavioral science and psychology" "chaos AD" UFO "Life science" -i 2 34 400You will get the following summary before the downloading starts ``` Book Title English Package Name 2 All of Statistics Mathematics and Statistics 34 Essential Astrophysics Physics and Astronomy 37 International Perspectives on Psychotherapy Behavioral Science and Psychology 40 Applied Behavior Analysis Behavioral Science and Psychology 70 Psychology of Perception Behavioral Science and Psychology 95 Handbook of Consumer Finance Research Behavioral Science and Psychology 311 Clinical Methods in Medical Family Therapy Behavioral Science and Psychology 313 Motivation and Action Behavioral Science and Psychology 381 Perceptual Organization Behavioral Science and Psychology 396 Evidence-Based Practice in Clinical Social Work Behavioral Science and Psychology 397 Foundations of Behavioral Health Behavioral Science and Psychology 398 Social Psychology in Action Behavioral Science and Psychology 400 A Course in Rasch Measurement Theory Education
13 titles ready to be downloaded... The following invalid book categories will be ignored: 1. chaos AD 2. UFO 3. Life science ```
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt python3 main.py
Just double-click the
run_VirtualEnv.batfile from Windows Explorer, or type-in its name at the command-line and press ENTER. Do install Python first, either from python.org or from the Microsoft Store for Windows 10.
python -m venv .venv .venv\Scripts\activate.bat pip install -r requirements.txt python main.py
python -m virtualenv .venv .venv\Scripts\activate.bat pip install -r requirements.txt python main.py
Considering you cloned the repo in a folder, as:
bash cd \home\[user]\workspace git clone https://github.com/alexgand/springer_free_books.git cd springer_free_books mkdir downloads
You can run the scripts like that:
bash docker build . -t springer-image docker run --rm -v [local_download_folder]:/app/downloads springer-imageand the downloads will be at [
On macOS, if the script produces a
[SSL: CERTIFICATE_VERIFY_FAILED]error, then security certificates may need to be installed. Instructions for doing so can be found here. If that doesn't work, see alternate instructions here.