Download all or a particular XKCD comic uploaded till date from the Command line
- 1 Features
- 2 Usage
- 3 Demo
- 4 Installation
- 5 Help menu:
- 6 Contributing
- 7 Known Issues
- 8 Bugs
- 9 License :
How about you get to download all of the xkcd which have been uploaded till date? This does just that!
Now I don’t know about you, but I just love reading xkcd’s! Had a boring Sunday night looming over, thought why not create something like youtube-dl but for downloading xkcd’s!
And hence xkcd-dl
- Can download all the xkcd’s uploaded till date(1603 as I am writing this!).
- Download individual xkcd’s and store them
- Download the latest issue xkcd
- No duplicacy in your XKCD database.
- Stores each xkcd in a separate file named as the title of the xkcd at your home directory
- Writes a description.txt for each xkcd. Storing meta-data like
- url value
- a small description of that xkcd
- written in uncomplicated python.
When running for the first time, do a xkcd-dl --update-db
$ xkcd-dl --update-db XKCD link database updated Stored it in 'xkcd_dict.json'. You can start downloading your XKCD's! Run 'xkcd-dl --help' for more options $
This downloads the last uploaded xkcd comic and stores under the home directory of the user with a brief description
$ xkcd-dl --download-latest Downloading xkcd from 'http://imgs.xkcd.com/comics/flashlights.png' and storing it under '/home/tasdik/xkcd_archive/1603' $
If it has been downloaded, will not do anything
Downloads the particular XKCDNUMBER(given that it exists and has not been downloaded already) and stores it in the home directory
$ xkcd-dl --download=143 Downloading xkcd from 'http://xkcd.com/143/' and storing it under '/home/tasdik/xkcd_archive/143' $ xkcd-dl --download=1603 Downloading xkcd from 'http://xkcd.com/1603/' and storing it under '/home/tasdik/xkcd_archive/1603' xkcd number '1603' has already been downloaded! $
As the name suggests, will download all the xkcd’s uploaded till date and store them under the home directory of the user.
$ xkcd-dl --download-all Downloading all xkcd's Till date!! Downloading xkcd from 'http://xkcd.com/1466' and storing it under '/home/tasdik/xkcd_archive/1466' Downloading xkcd from 'http://xkcd.com/381' and storing it under '/home/tasdik/xkcd_archive/381' Downloading xkcd from 'http://xkcd.com/198' and storing it under '/home/tasdik/xkcd_archive/198' Downloading xkcd from 'http://xkcd.com/512' and storing it under '/home/tasdik/xkcd_archive/512' Downloading xkcd from 'http://xkcd.com/842' and storing it under '/home/tasdik/xkcd_archive/842' Downloading xkcd from 'http://xkcd.com/920' and storing it under '/home/tasdik/xkcd_archive/920' .... ....
Each Comic is stored in it’s own individual folder with a description.txt placed in it. It contains meta-data like - img-link - title - date-published
Here’s a little example for the same
4.1 Option 1: installing through pip (Suggested way)
$ pip3 install xkcd-dl
If you are behind a proxy
$ pip3 --proxy [username:password@]domain_name:port install xkcd-dl
Note: If you get command not found then $ sudo apt-get install python3-pip should fix that
4.2 Option 2: installing from source
$ git clone https://github.com/prodicus/xkcd-dl.git $ cd xkcd-dl/ $ pip3 install -r requirements.txt $ python3 setup.py install
$ pip3 uninstall xkcd-dl
4.4 For Arch distributions
Here is the AUR link for you
I hacked this up in one night, so its a little messy up there. Feel free to contribute.
- Fork it.
- Create your feature branch (git checkout -b my-new-awesome-feature)
- Commit your changes (git commit -am 'Added <xyz> feature')
- Push to the branch (git push origin my-new-awesome-feature)
- Create new Pull Request
Big shout out to
- [x] add xkcd-dl --download-latest
- [x] add xkcd-dl --download=XKCDNUMBER
- [x] add xkcd-dl --download-all
- [ ] add xkcd-dl --start=XKCDNUMBER --end=XKCDNUMBER [--path=/path/to/directory]
- [ ] Remove redundant code in download_xkcd_number(), download_latest() and download_all() (Refactoring!!)
- [ ] Adding support to open a particular xkcd at the CLI itself. (Thinking of using img2txt for that)
7 Known Issues
- There have been issues when installed from source if you are using python 2.* as discussed in #5. So using python3.* is suggested.
- If you get command not found when installing, it may mean that you don’t have pip3 installed. $ sudo apt-get install python3-pip should fix that. To check your version of pip
$ pip3 --version pip 1.5.6 from /usr/lib/python3/dist-packages (python 3.4) $
Please report the bugs at the issue tracker
You can tweet me at @tasdikrahman if you can’t get it to work. In fact, you should tweet me anyway.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size xkcd-dl-0.0.6.tar.gz (8.5 kB)||File type Source||Python version None||Upload date||Hashes View|