Skip to main content

download youtube subtitles(closed caption, cc) as txt or json

Project description

Download Youtube Subtitle Build Status

Download youtube subtitles(closed caption, cc) or srt as txt or json.

Features

  1. Support exportting translation at the same time which is useful for language study.
  2. Support proxy for youtube, follow the step at Using Anaconda behind a company proxy by setting environment-variables.
  3. Full test with traivis Build Status to make sure things are on rail.

python version of algolia/youtube-captions-scraper: Fetch youtube user submitted or fallback to auto-generated captions

Example

dl-youtube-cc 5tKOV0KqPlg --translation zh-Hans

or

dl-youtube-cc https://www.youtube.com/watch?v=5tKOV0KqPlg --translation zh-Hans

will saved as HowSouthAfricaCouldPreparetheU.S.forPresidentTrumpTheDailyShow.txt

https://youtube.com/get_video_info?video_id=5tKOV0KqPlg
---------00:01----------
All right, well, uh,
let's get back to real life
好吧,恩,让我们回到现实生活中

---------00:04----------
or whatever we're calling
this thing now.
或我们现在所说的这个东西。 
// continue

dl-youtube-cc 5tKOV0KqPlg --translation zh-Hans --to_json=True will saved as HowSouthAfricaCouldPreparetheU.S.forPresidentTrumpTheDailyShow.json

{
    "original": [
        {
            "start": "1.367",
            "dur": "3.137",
            "text": "All right, well, uh,\nlet's get back to real life"
        },
	// continue
	]
	"translation": [
	{
		"start": "1.367",
		"dur": "3.137",
		"text": "好吧,恩,让我们回到现实生活中"
	},
		// continue
	]
	"merged": [
	{
		"start": "1.367",
		"dur": "3.137",
		"text": "All right, well, uh,\nlet's get back to real life",
		"translate_text": "好吧,恩,让我们回到现实生活中"
	},
		// continue
	]

Install and Run

Install via download-youtube-subtitle · PyPI

  1. pip install download-youtube-subtitle or pip install download-youtube-subtitle --user
  2. dl-youtube-cc -h

or uninstall to reinstall new version

pip uninstall download-youtube-subtitle -y

run in cli

dl-youtube-cc -h will show the following.


NAME
    dl-youtube-cc - download youtube closed caption(subtitles) by videoID

SYNOPSIS
    dl-youtube-cc VIDEOID <flags>

DESCRIPTION
    Examples:
    dl-youtube-cc -h # to see this helpful infomation
    dl-youtube-cc 5tKOV0KqPlg --save_to_file=False # print stuff in console
    dl-youtube-cc 5tKOV0KqPlg --output_file='test.txt' # print stuff in named file
    dl-youtube-cc 5tKOV0KqPlg --to_json=True # print stuff in json
    dl-youtube-cc 5tKOV0KqPlg --translation 'ja' # use japanese translation, see ./lang_code for full list
    dl-youtube-cc 5tKOV0KqPlg --translation False # without translation
    dl-youtube-cc 5tKOV0KqPlg --caption_num=1 # choose the caption num

POSITIONAL ARGUMENTS
    VIDEOID
        string, the video link or the id of youtube video, the string after 'v=' in a youtube video link

FLAGS
    --output_file=OUTPUT_FILE
        string, default to video title
    --save_to_file=SAVE_TO_FILE
        bool, default to True, True or False
    --translation=TRANSLATION
        bool or string, which will be displayed as original transcript, default to 'zh-Hans' for simplified Chinese, False or lang code, see ./lang_code.json for full list
    --to_json=TO_JSON
        bool, default to False, export caption to json
    --caption_num=CAPTION_NUM
        number, default to 0, choose the caption which will be displayed as original transcript
    --remove_font_tag=REMOVE_FONT_TAG
        bool, default to True, remove font tag in txt transcript, but not in json's merged

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS
	

Use in Code

import download_youtube_subtitle.common as common
import download_youtube_subtitle.main as download_youtube_subtitle
# ...

Development

Environment Setup

for conda

pip install 'fire' 'requests' 'IPython'

Usage

python main.py -h
python main.py VIDEOID

Tests

cd tests
./run.sh
./test_cli.sh

Ref

deployment - How can I use setuptools to generate a console_scripts entry point which calls python -m mypackage? - Stack Overflow

Packaging Python Projects — Python Packaging User Guide

./nb/notebook2script.py from course-v3/nbs/dl2 at master · fastai/course-v3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

download-youtube-subtitle-1.0.2.tar.gz (8.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page