NON-COMMERCIAL USE ONLY
Subtitle-Downloader supports downloading subtitles from multiple streaming services, such as Apple TV+, CatchPlay, Crunchyroll, Disney+, FridayVideo, HBO GO Asia, iQIYI, iTunes, KKTV, LINE TV, meWATCH, MyVideo, NowE, NowPlayer, Viki, Viu, WeTV, YouTube, etc.
Subtitle-Downloader is a command-line program to download subtitles from the most popular streaming platform. It requires Python 3.10+, and NodeJS. It should work on Linux, on Windows, or macOS. This project is only for personal research and language learning.
pip install -r requirements.txt
install_requirements.bat
Name | Authentication | Geo-blocking |
---|---|---|
Apple TV+ | Cookies | |
CatchPlay | Cookies | Indonesia, Singapore, and Taiwan |
Crunchyroll | Cookies | |
Disney+ | Email & Password | |
Friday Video | Cookies | Taiwan |
HBO GO Asia | Email & Password | |
iQIYI (iq.com) | Cookies | Partial region |
iTunes | ||
KKTV | ||
LINE TV | ||
MeWATCH | Profile Token | Singapore |
MyVideo | Cookies | Taiwan |
NowE | Cookies | |
Now Player | Cookies | |
Viki | Cookies | Partial region |
Viu | ||
WeTV | Cookies | Partial region |
YouTube | Cookies (Subscribe channel) |
Subtitle-Downloader/cookies
Subtitle-Downloader/user_config.toml
Depending on the download platform and modify Subtitle-Downloader/user_config.toml
[subtitles]
default-language = 'en' # all/en/zh-Hant/zh-Hans/zh-HK/ja/ko
default-format = '.srt' # .srt/.ass
archive = true # true/false
[headers]
User-Agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'
[credentials.DisneyPlus]
email = ''
password = ''
[proxies]
us = 'http:127.0.0.1:7890' # Clash
[nordvpn]
username = ''
password = ''
Follow each platform's requirements and put cookies.txt into Subtitle-Downloader/cookies
Execute the program with the command line or Subtitle-Downloader.bat
(Paste the title's URL)
python subtitle_downloader.py URL [OPTIONS]
-h, --help show this help message and exit
-s --season download season [0-9]
-e --episode download episode [0-9]
-l, --last-episode download last episode
-o, --output output directory
-slang, --subtitle-language languages of subtitles; use commas to separate multiple languages
default: Traditional Chinese
all: download all available languages
-alang, --audio-language languages of audio-tracks; use commas to separate multiple languages
-sf, --subtitle-format subtitles format: .srt or .ass
-locale, --locale interface language
-p, --proxy proxy
-d, --debug enable debug logging
-v, --version app's version
Disney+
Codec | Language |
---|---|
en | English [CC] |
zh-Hant | Chinese (Traditional) |
zh-Hans | Chinese (Simplified) |
zh-HK | Cantonese |
da | Dansk |
de | Deutsch |
de-forced | Deutsch [forced] |
es-ES | Español |
es-ES-forced | Español [forced] |
es-419 | Español (Latinoamericano) |
es-419-forced | Español (Latinoamericano) [forced] |
fr-FR | Français |
fr-FR-forced | Français [forced] |
fr-CA | Français (Canadien) |
fr-CA-forced | Français (Canadien) [forced] |
it | Italiano |
it-forced | Italiano [forced] |
ja | Japanese |
ja-forced | Japanese [forced] |
ko | Korean |
ko-forced | Korean [forced] |
nl | Nederlands |
no | Norsk |
pl | Polski |
pl-forced | Polski [forced] |
pt-PT | Português |
pt-BR | Português (Brasil) |
pt-BR-forced | Português (Brasil) [forced] |
fi | Suomi |
sv | Svenska |
HBO GO Asia
Codec | Language |
---|---|
en | English |
zh-Hant | Traditional Chinese |
zh-Hans | Simplified Chinese |
ms | Malay |
th | Thai |
id | Indonesian |
iQIYI iq.com
Codec | Language |
---|---|
en | English |
zh-Hant | Traditional Chinese |
zh-Hans | Simplified Chinese |
ms | Malay |
vi | Vietnamese |
th | Thai |
id | Indonesian |
es | Spanish |
ko | Korean |
ar | Arabic |
Viu | Codec | Language |
---|---|---|
en | English | |
zh-Hant | Traditional Chinese | |
zh-Hans | Simplified Chinese | |
ms | Malay | |
th | Thai | |
id | Indonesian | |
my | Burmese |
WeTV | Codec | Language |
---|---|---|
en | English | |
zh-Hant | Traditional Chinese | |
zh-Hans | Simplified Chinese | |
ms | ||
th | Thai | |
id | Indonesian | |
pt | Português | |
es | Spanish | |
ko | Korean |
devtools
in the browser (Windows: Ctrl + Shift + I or F12; macOS: ⌘ + ⌥ + I.)Network
on devtools
https://www.mewatch.sg/api/account/profile
in the filter to find the profile apiBearer
, the profile token starts with eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ
) and paste in Subtitle-Downloader/user_config.toml ([credentials.meWATCH] profile_token='')
.Subtitle-Downloader/user_config.toml (User-Agent)
. The user-agent must be the same as login browser user-agent.python subtitle_downloader.py URL
python subtitle_downloader.py URL -s 1 -e 1
python subtitle_downloader.py URL -s 1 -e 1 -slang all
python subtitle_downloader.py https://www.disneyplus.com/series/loki/6pARMvILBGzF -slang en,zh-Hant
python subtitle_downloader.py URL -l
python subtitle_downloader.py URL -s 1 -e 1-10
python subtitle_downloader.py URL -s 1 -e 1,3,5
python subtitle_downloader.py URL -s 1 -p tw
python subtitle_downloader.py URL -s 1 -p http:127.0.0.1:7890
python subtitle_downloader.py URL -s 1 -sf .ass