Download all games from a public Itch.io Game Jam

Overview

Itch Jam Downloader

Downloads all games from a public Itch.io Game Jam.

What you'll need:

  • Python 3.8+
  • pip install -r requirements.txt
  • For site mirroring, wget in your PATH.

On Arch, pacman -S wget python python-requests python-slugify works.

How to use this:

  • 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.
  • (It you found it multiple times, grab the one after ViewJam something something.)
  • Download https://itch.io/jam/NUMBER/entries.json (replacing NUMBER with what you wrote down)
  • Generate a new API key on your user account page: https://itch.io/user/settings/api-keys
  • Run the downloader: python downloader.py --api-key entries.json
  • Wait. This is going to take a while.

The downloader is able to grab more or less everything you can download via the itch app.

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.

The downloader also grabs the entry page HTML, which usually comes with controls and such. It does not download images, external assets and so on, just the text - if the Itch page dies, so will most elements on those downloaded pages. Controls should survive, though.

(There's a pedantic mirroring toggle in the script, if you know what you're doing though.)

You might also like...
You Can download any video/image in all social medias very easy and High Speed.
You Can download any video/image in all social medias very easy and High Speed.

All-Downloader You Can download any video/image in all social medias very easy and High Speed. also you can easily download videos from web browsers s

Python module to download all media from a CyberDrop gallery.
Python module to download all media from a CyberDrop gallery.

CyberDrop Downloader Intro Let's suppose you found out the Eva G (bby_gee) leak on https://cyberdrop.me/a/aWAt4TWY. You wish you could download the en

Python module to download all media from a GoFile gallery.

GoFile Downloader Setup First of all, clone this repository : ~$ git clone https://github.com/quatrecentquatre-404/gofile-downloader Second, oh wait..

👻🟡  Download all Snapchat video & photo memories from a data export.
👻🟡 Download all Snapchat video & photo memories from a data export.

Snapchat "Memories" Fetcher In compliance with the California Consumer Privacy Act of 2018 (“CCPA”), businesses which collect and store user data must

Heroic-gogdl - GOG Downloading module for Heroic Games Launcher

heroic-gogdl GOG download module for Heroic Games Launcher Purpose This will tak

Simple tool downloads public PoC (refer from nomi-sec)

PoC Collection This is the little script to collect the proof-of-concept which is refered from nomi-sec. The repository now is only develop for linux-

A modern CLI to download animes automatically from Twist
A modern CLI to download animes automatically from Twist

Kurby Kurby is a nice and simple CLI that use Twist website, and their huge collection to download animes for free and automatically Animes from Twist

Download courses from khanacademy.org

khan-dl A python script to download courses from Khan Academy using youtube-dl and beautifulsoup4.

1Fichier Download Manager.
1Fichier Download Manager.

1fichier-dl 1Fichier Download Manager. Features ⭐ Manage your downloads ⭐ Bypass time limits Credits All icons, including the app icon, were provided

Comments
  • NotImplementedError: Unknown infobox block name 'Category'

    NotImplementedError: Unknown infobox block name 'Category'

    Hi!

    INFO:root:Downloading https://andreipasynkov.itch.io/upandown
    Traceback (most recent call last):
      File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
        exec(code, run_globals)
      File "/tmp/itch-dl/itch_dl/__main__.py", line 3, in <module>
        run()
      File "/tmp/itch-dl/itch_dl/cli.py", line 68, in run
        return drive_downloads(jobs, download_to, args.mirror_web, args.api_key, keys, parallel=args.parallel)
      File "/tmp/itch-dl/itch_dl/downloader.py", line 350, in drive_downloads
        results = [downloader.download(job) for job in tqdm(jobs, **tqdm_args)]
      File "/tmp/itch-dl/itch_dl/downloader.py", line 350, in <listcomp>
        results = [downloader.download(job) for job in tqdm(jobs, **tqdm_args)]
      File "/tmp/itch-dl/itch_dl/downloader.py", line 240, in download
        metadata = self.extract_metadata(game_id, url, site)
      File "/tmp/itch-dl/itch_dl/downloader.py", line 149, in extract_metadata
        infobox = parse_infobox(infobox_div)
      File "/tmp/itch-dl/itch_dl/infobox.py", line 116, in parse_infobox
        parsed_block = parse_tr(name, content_td)
      File "/tmp/itch-dl/itch_dl/infobox.py", line 100, in parse_tr
        raise NotImplementedError(f"Unknown infobox block name '{name}' - please file a new itch-dl issue.")
    NotImplementedError: Unknown infobox block name 'Category' - please file a new itch-dl issue.
    

    ...so I did! Got this from https://itch.io/jam/game-boy-showdown.

    opened by ISSOtm 2
  • Open JSON files in binary mode

    Open JSON files in binary mode

    This avoids any encoding errors caused by JSON files containing non-ASCII characters (e.g. emojis).

    I'm not sure if this encoding issue occurs just on Windows (the corresponding stack trace stems from CP-1252), but I think opening the file in binary mode is the right way to go anyway.

    For reference, here's the traceback logged when trying to load a file which has some emojis in the JSON:

    Traceback (most recent call last):
      File "itch-dl\venv\Scripts\itch-dl", line 5, in <module>
        run()
      File "itch-dl\itch_dl\cli.py", line 60, in run
        jobs = get_jobs_for_url_or_path(args.url_or_path, settings)
      File "itch-dl\itch_dl\handlers.py", line 191, in get_jobs_for_url_or_path
        return get_jobs_for_path(path_or_url)
      File "itch-dl\itch_dl\handlers.py", line 154, in get_jobs_for_path
        json_data = json.load(f)
      File "C:\Python310\lib\json\__init__.py", line 293, in load
        return loads(fp.read(),
      File "C:\Python310\lib\encodings\cp1252.py", line 23, in decode
        return codecs.charmap_decode(input,self.errors,decoding_table)[0]
    UnicodeDecodeError: 'charmap' codec can't decode byte 0x8f in position 22612: character maps to <undefined>
    
    opened by jackwilsdon 1
  • Allow toggling Download Key caching

    Allow toggling Download Key caching

    It's possible to query the API for any available Download Keys directly for a Game ID, instead of downloading them all before the fact. This would be faster for a small amount of titles to download, especially if the user has a ton of purchased/claimed games.

    opened by DragoonAethis 0
Releases(0.3.2)
  • 0.3.2(Nov 1, 2022)

  • 0.3.1(Jun 12, 2022)

  • 0.3.0(Jun 12, 2022)

    • Added Settings - it's now possible to permanently set an API key instead of providing it every single time on the command line. (Using the config file is not mandatory.)
    • itch-dl now depends on Pydantic for config file validation.
    • The User Agent is now being set to python-requests/{version} itch-dl/{version} by default. This is configurable.
    • Misc cleanups, typing fixes and more descriptive error messages with wiki links.
    Source code(tar.gz)
    Source code(zip)
  • 0.2.1(May 30, 2022)

  • 0.2.0(May 15, 2022)

Owner
Dragoon Aethis
Dragoon Aethis
A discord bot for downloading youtube video and audio files

disctube disctube is a discord bot for downloading video and audio files from youtube using python pytube. disclaimer i am not the best python program

razor420 3 Feb 03, 2022
Copy online media to your USB pen by night and watch it on your daily commute

commute-tube commute-tube is your friend on your daily commute. It will download videos of your interest to your USB pen by night so that you're able

Matthias Küch 19 Mar 23, 2022
A simple kemono.party downloader using python.

kemono-dl This is a simple kemono.party downloader. How to use Install python Download source code from releases and extract it Then install requireme

318 Dec 27, 2022
PyQt5 simple files , youtube videos and youtube playlist downloader

PyQt5 simple files , youtube videos and youtube playlist downloader

AmirHossein Mohammadi 7 Jul 25, 2022
Simple package for Sublime Text 4; download URL's for local viewing and editing

URLDownloader This is a simple example package that allows you to easily download the contents of any web URL to edit locally. Given a URL, the packag

Terence Martin 3 Mar 05, 2022
A very fast file streaming bot used for streaming and downloading movies

FileStreamBot GIVE A STAR AND FORK ELSE NO MORE OPENSOURCE A Telegram bot to turn all media and documents files to web link . Report a Bug | Request F

Code X Mania a.k.a Adarsh Goel 190 Jan 04, 2023
A python module to download ISO Standards

ISO Standards Downloader A python module to download ISO Standards from https://standards.iso.org/iso-iec/ Report Bug · Request Feature Table of conte

Daniel 1 Dec 29, 2021
Terminal based YouTube player and downloader

termitube NOTE: THIS REPOSITORY IS A FORK OF mps-youtube as mps-youtube has been unmaintained for almost a year now. Features Search and play audio/vi

Otis/Jacob Root 27 Dec 23, 2022
YouPlay is a python based tool for downloading YouTube videos through its URL

YouPlay is a python based tool for downloading YouTube videos through its URL. It is capable to download videos from YouTube playlists too and can extract the audio file only from the video. It can r

Nitin Choudhury 10 Sep 15, 2022
Bulk Downloader for Reddit

saveddit is a bulk media downloader for reddit pip3 install saveddit Setting up authorization Register an application with Reddit Write down your clie

Pranav 136 Jan 03, 2023
ASF Sentinel-1 Metadata Download tool

ASF Sentinel-1 Metadata Download tool Copyright: 2021-2022 Antonio Valentino Small Python tool (asfsmd) that allows to download XML files containing S

Antonio Valentino 9 Dec 04, 2022
pubmex.py - a script to get a fancy paper title based on given DOI or PMID

pubmex.py is a script to get a fancy paper title based on given DOI or PMID (can be also combined with macOS Finder)

Marcin Magnus 13 Nov 20, 2022
Super S3 command line tool

s4cmd Super S3 command line tool Author: Chou-han Yang (@chouhanyang) Current Maintainers: Debodirno Chandra (@debodirno) | Naveen Vardhi (@rozuur) |

Bloomreach 1.2k Dec 27, 2022
A simple python script to fetch Bing daily images and set them randomly using hsetroot

Daily bing walls A script to set the daily bing image as the wallpaper. It can also set from a random set of previously fetched wallpapers. usage: dai

Harinarayanan K S 5 Nov 23, 2022
Youtube Video Downloader Using Python Gui Appliction with progress Bar

Youtube-Video-Downloader Youtube Video Downloader Using Python Gui Appliction with progress Bar Module Used Pytube Tkinter Pil Urllib Bytes Io LICENSE

Community Programmer 6 Dec 19, 2022
A bot to download songs from YouTube to telegram.

Song-Downloader-Bot A BOT TO DOWNLOAD SONGS FROM YOUTUBE. Mandatory variables API_ID - Get It From my.telegram.org API_HASH - Get It From my.telegram.

Ashik Muhammed 38 Dec 11, 2022
利用python3,爬取并下载91porn网站上面的视频

91porn_python 利用python3,爬取并下载91porn网站上面的视频 增加爬取t66y论坛图片的脚本 该脚本支持一下功能: 支持多线程 下载视频有进度条显示 支持从特定页的特定视频开始下载 将m3u8和mp4格式的视频下载到不同文件夹,加以分类 自动过滤已经下载过的视频

253 Feb 23, 2021
Easily download audio described movies and TV shows found on audiovault.net

AudioVault Downloader A convenient downloader for audio described movies and TV shows found on the Audio Vault. get latest binary release for Windows

Carter Temm 5 Feb 10, 2022
A program that can download animations from myself website

MYD A program that can download animations from myself website 一個可以用來下載Myself網站上動漫的程式 Quick Start [無GUI版本] 確定電腦內包含 ffmpeg 並設為環境變數 (Environment Variabl

Patrick_star 1 Nov 07, 2021
Noto fonts go universal! Download Noto fonts combined to suit your region

noto-cjk Noto CJK fonts Noto Serif CJK update was released on 25 October 2021. We moved the release history and other notes into both Sans and Serif s

Google Fonts 2k Jan 02, 2023