Make ZIM file from a Youtube channel, user or playlist(s)
Project description
Youtube2zim
youtube2zim
allows you to create a ZIM file
from a Youtube Channel/Username or one-or-more Playlists.
It downloads the video (webm
or mp4
extension – optionnaly
recompress them in lower-quality, smaller size), the thumbnails, the
subtitles and the authors' profile pictures ; then, it create a static
HTML files folder of it before creating a ZIM off of it.
Requirements
ffmpeg
for video transcoding (only used with--lower-quality
).zimwriterfs
for ZIM file packaging. Use--no-zim
to skip this step.curl
andunzip
to install Javascript dependencies. Seeget_js_deps.sh
if you want to do it manually.
Installation
Here comes a few different ways to install youtube2zim
.
Virtualenv
youtube2zim
is a Python3 software. If you are not using the
Docker image, you are advised to use it in a
virtualenv to avoid installing software
dependences on your system.
virtualenv -p python3 ./ # Create virtualenv
source bin/activate # Activate the virtualenv
pip3 install youtube2zim # Install dependencies
youtube2zim --help # Display youtube2zim help
At the end, call deactivate
to quit the virtual environment.
See requirements.txt
for the list of python dependencies.
Docker
docker run -v my_dir:/output openzim/youtube youtube2zim --help
Globally (on GNU/Linux)
sudo pip3 install -U youtube2zim
Usage
youtube2zim
uses Youtube API v3 to fetch data from Youtube. You thus need to provide an API_KEY
to use the scraper.
To get an API:
- Connect to Google Developers Console
- Create a new Project then Select it.
- When asked, choose Create Credentials and select the API Key type. (Credentials page)
youtube2zim --api-key "<your-api-key>" --type user --id "Vsauce"
Notes
- Your API_KEY is subject to usage quotas (10,000 requests/day) so use
--only_test_branding
when adjusting parameters and branding to not waste your quota. - On macOS, the locale setting is buggy. You need to launch it with
LANGUAGE
environment variable (as ISO-639-1) for the translations to work.
LANGUAGE=fr youtube2zim --language fra
Development
Before contributing be sure to check out the CONTRIBUTING.md guidelines.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for youtube2zim-2.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27955adb6352620de829e05c3b8cfb76b3078d61fa769c063f7de5cb63477f7f |
|
MD5 | 832e7a28e99a95bbaa7b22a45d15ed5f |
|
BLAKE2b-256 | a9d6d4d864890e61c14dc44eec8055c9317c50ff109cd7b3a94d49bc175b2dd9 |