2021-10-13 13:55:18 +02:00
|
|
|
# itch-dl
|
2021-10-02 03:05:29 +02:00
|
|
|
|
2022-05-15 02:02:45 +02:00
|
|
|
Bulk download games from [itch.io](https://itch.io/).
|
2021-10-02 03:05:29 +02:00
|
|
|
|
2022-05-15 02:02:45 +02:00
|
|
|
- Can download game jams, browse pages (popular, newest, browse by tag...) and individual games.
|
|
|
|
- Requires Python 3.8+, grab it from PyPI: `pip install itch-dl`
|
|
|
|
- For development, use [Poetry](https://python-poetry.org/).
|
|
|
|
- Optionally requires wget for site mirroring.
|
2021-10-02 03:05:29 +02:00
|
|
|
|
|
|
|
How to use this:
|
|
|
|
|
2021-10-13 13:55:18 +02:00
|
|
|
- Log into itch.io with the account you'd like to use for downloading.
|
2021-10-03 03:49:49 +02:00
|
|
|
- Generate a new API key on your user account page: https://itch.io/user/settings/api-keys
|
2022-05-15 02:02:45 +02:00
|
|
|
- Run the downloader: `itch-dl --api-key <KEY> https://itch.io/jam/yourjamhere`
|
2021-10-02 03:05:29 +02:00
|
|
|
- Wait. This is going to take a while.
|
|
|
|
|
2021-10-03 03:49:49 +02:00
|
|
|
The downloader is able to grab more or less everything you can download via the itch app.
|
2021-10-02 03:05:29 +02:00
|
|
|
|
2022-05-15 02:02:45 +02:00
|
|
|
The input URL can be any "Browse" page (top, popular, newest, filtered by tags, etc) or any
|
|
|
|
game jam. The input can also be a path to a itch.io JSON file with game jam entries, or just
|
|
|
|
a list of itch.io game URLs (not browse/jam pages!) to download.
|
2021-10-02 03:05:29 +02:00
|
|
|
|
2022-05-15 02:02:45 +02:00
|
|
|
**It's expected that the downloader output will not be complete** - logs are stupidly verbose
|
|
|
|
and it prints a report on successful/failed downloads, so you must manually grab whatever was
|
|
|
|
not handled for you automatically for some reason.
|
2021-10-03 03:49:49 +02:00
|
|
|
|
2022-05-15 02:02:45 +02:00
|
|
|
The downloader also grabs the entry page HTML, which usually comes with controls and such. By
|
|
|
|
default, it does not download images, assets and so on, just the text - use `--mirror-web` to
|
|
|
|
try and download these as well. This requires `wget` to be available in your `PATH`.
|
2021-10-13 13:55:18 +02:00
|
|
|
|
|
|
|
|
2022-05-15 02:02:45 +02:00
|
|
|
## Game Jam Entries JSON
|
2021-10-13 13:55:18 +02:00
|
|
|
|
2022-05-15 02:02:45 +02:00
|
|
|
Downloader can parse and download games from a game jam entries JSON file if you need it.
|
|
|
|
(The script basically automates the steps below, so if it's not able to do the same, please
|
|
|
|
create an issue!)
|
2021-10-13 13:55:18 +02:00
|
|
|
|
|
|
|
- Go to your jam's page, ex. https://itch.io/jam/gbcompo21 and right-click -> View Source.
|
|
|
|
- Ctrl-F for `"id":` - it should find that text once, followed by a number. Write it down.
|
2022-05-15 02:02:45 +02:00
|
|
|
- (It you found it multiple times, grab the one after I.ViewJam something something.)
|
|
|
|
- Download https://itch.io/jam/ID/entries.json (replacing ID with what you wrote down).
|
|
|
|
- Feed that to `itch-dl`!
|