🎮 itch.io downloader tool https://pypi.org/project/itchiodl/
Find a file
Peter Taylor 406af545d2
Fixes By MatthewThomasRussell (edits by me) (#4)
* added print to url

* added some more prints

* added error handling for non 200 response codes and will report these errors

* update error handling

* forgot to actually write string to file :(

* update to readme for new error logging feature

* Changed file writing to use with ... as notation

Co-authored-by: Matthew Russell <m.russell2@lancaster.ac.uk>
2022-02-24 14:51:55 +00:00
src/itchio Fixes By MatthewThomasRussell (edits by me) (#4) 2022-02-24 14:51:55 +00:00
.gitignore First Commit, added everything for a version 1.0 2021-12-18 02:48:27 +00:00
poetry.lock reduced requirement to 3.8 2021-12-18 02:51:52 +00:00
pyproject.toml better resumes without as many web requests 2021-12-20 00:09:53 +00:00
Readme.md Fixes By MatthewThomasRussell (edits by me) (#4) 2022-02-24 14:51:55 +00:00

Itchio Downloader Tool

Install

pip install git+https://github.com/emersont1/itchio 

Download All Games in library from account

python -m itchio.downloader

This uses the same API the itchio app uses to download the files. If you have 2FA enabled, generate an API key here and run the following instead

python -m itchio.downloader --api-key=KEYHERE

Add All Games in a bundle to your library

python -m itchio.downloader

This is a bit of a bodge, but it works. It essentially goes through and clicks the "Download" link on every item on the bundle's page, which adds it to your itchio library. It does not download any files. You will need the download page's URL (this will be in the bundle's email, and possibly your purchase history). It will not work with 2FA, and I'm unlikely to be able to fix it without making it far more complicated

Errors

if a download fails it will be reported in errors.txt in the same directory as your downloads

An example of which could look something like this:

Publisher Name: <Publisher Name>
Output File: <Publisher Name>/<Game Name>/<Specific Item>
Request URL: <Some URL>
Request Response Code: 404
Error Reason: Not Found
This game/asset has been skipped please download manually
---------------------------------------------------------

This is not a perfect solution but does prevent the whole process from crashing