Skip to main content

CLI tool to search youtube captions

Project description

https://travis-ci.com/alexkohler/ytgrep.svg?branch=master

ytgrep is a CLI tool to search Youtube closed captions with a grep-like interface.

Requirements

  • Requires python >= 3.5

Installation

pip install ytgrep

Note: you must have pip’s bin folder on your PATH.

Purpose

ytgrep is particularly useful whilst looking for particular topic or keywords mentioned in a video.

For example, searching for the word ‘topoloigcal sort’ in MIT’s Open Courseware Lecture on DFS and topological sort:

image0

Usage

usage: ytgrep.py [-h] [-e] [-v] [-links] pattern urls [urls ...]

Flags

  • -e <PATTERN> - specify a regular expression to match

  • -v - verbose, print debug information

  • -links - include the time shortcut link with each match (see example below)

More examples

Include timestamped links (e.g. <youtube URL>/&t=196s) to jump directly to part in video where keyword was mentioned.

$ ytgrep -links 'potassium' https://www.youtube.com/watch?v=OIYOshsEqmQ

Search with regular expression

ytgrep -e 'banana|potassium' https://www.youtube.com/watch?v=OIYOshsEqmQ

Search multiple urls

ytgrep 'banana' https://www.youtube.com/watch?v=LH5ay10RTGY https://www.youtube.com/watch?v=zFQWVN4xip0

Development

Run Tests

Note: Functional tests do download directly from Youtube

## All tests
python -m unittest discover

## Unit tests
python -m unittest discover test/unit

## Functional tests
python -m unittest discover test/functional

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

ytgrep-0.4.7.tar.gz (7.6 kB view hashes)

Uploaded Source

Built Distribution

ytgrep-0.4.7-py3-none-any.whl (10.7 kB view hashes)

Uploaded Python 3

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