magzdb
magzdb copied to clipboard
magzdb.org Downloader
Installation
Install using pip
$ pip install -U magzdb
Usage
usage: magzdb [-h] [-V] -i MAGAZINE_ID [-e [EDITION [EDITION ...]]]
[-f FILTER] [-l] [-P DIRECTORY_PREFIX] [--downloader DOWNLOADER]
[--debug]
Magzdb.org Downloader
required arguments:
-i MAGAZINE_ID, --id MAGAZINE_ID
ID of the Magazine to Download. eg. http://magzdb.org/j/<ID>.
optional arguments:
-h, --help show this help message and exit
-V, --version Print program version and exit
-e [EDITION [EDITION ...]], --editions [EDITION [EDITION ...]]
Select Edition
-f FILTER, --filter FILTER
Use filter. See README#Filters
-l, --latest Download only latest edition.
-P DIRECTORY_PREFIX, --directory-prefix DIRECTORY_PREFIX
Download directory.
--downloader DOWNLOADER
Use External downloader (RECOMMENDED). Currently supported: aria2, wget, curl
--debug Print debug information.
--skip-download Don't download files.
Usage Examples
Docker
docker build . -t magzdb
docker run -v $(PWD):/tmp magzdb -h
# Add alias to shell
alias magzdb="docker run -v $(PWD):/tmp magzdb"
magzdb -h
Download all editions
$ magzdb -i 1826
Filters
You can supply filter using -f
, for example to download issues between
4063895
and 4063901
, you can write as
$ magzdb -i 1826 -f "eid > 4063895 and eid < 4063901"
You can use eid
, year
in the filter expression.
More examples of filter expression
-
eid > 4063895 and eid < 4063901
oreid >= 4063895 and eid <= 4063901
-
eid >= 4063895
oreid != 4063895
-
year >= 2018
,year <= 2018
,year == 2018
or evenyear != 2018
Download only latest edition
$ magzdb -i 1826 -l
Download only latest edition with custom location magazine
$ magzdb -i 1826 -l -P magazine
Use external downloader
$ magzdb -i 1826 -l -P magazine --downloader wget
This is recommended since internal downloader does not support resuming interrupted downloads.
Python Installation Recommendation
If you don't want to install official Python to your system (global). You can install pyenv installer environment under your specific account. It's prefered method for macOS users, because High Sierra and later macOS ships with old Python 2.7.10.
License
MIT