Skip to main content

CLI tool to search youtube captions

Project description

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Description: ytgrep
-----------------------

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


Requirements
=============

* Requires python >= 3.5

Installation
=============
.. code:: bash

pip install ytgrep

Purpose
=============
ytgrep is particularly useful whilst looking for particular topic or keywords in a video. For example, suppose you are interested in learning more about Breadth First Search. Rather than watching MIT Open Courseware's entire 50 minute video, you can do the following with ytgrep:


.. code:: bash

python ytgrep.py 'bfs' https://www.youtube.com/watch?v=s-CYnVz-uh4
[00:46:22.109 --> 00:46:24.170] compute this shortest we compute this path out of bfs which is follow a parent
[00:46:24.170 --> 00:46:24.180] path out of bfs which is follow a parent
[00:46:24.180 --> 00:46:26.450] path out of bfs which is follow a parent of v is c prime of c is x parent of x is
[00:47:25.799 --> 00:47:28.459] the shortest path thats the cool thing about bfs yeah bfs explores of vertices"

Usage
==============

.. code:: bash

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
=============


Development
=============

Run Tests
~~~~~~~~~

*Note:* Functional tests do download directly from Youtube

.. code:: bash

## All tests
python -m unittest discover

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

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

Related projects
==================
* youtube-closed-captions - This project used this library as a starting point https://github.com/mkly/youtube-closed-captions
* videogrep - get supercuts of video matching provided seach terms


TODO
============
* Supporting languages other than English
* -e '*' breaks ytgrep - appears to be applying red more than once
* Run coverage and see if any tests are missing

Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.7

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.2.tar.gz (8.3 kB view hashes)

Uploaded Source

Built Distribution

ytgrep-0.4.2-py3-none-any.whl (10.9 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