Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dimitryzub/youtube-mention-tracker

Find target keyword mention(s) from YouTube videos. Similar to Mention but for videos. Sponsored by SerpApi.
https://github.com/dimitryzub/youtube-mention-tracker

mention-detection python webscraping youtube youtube-downloader

Last synced: 3 months ago
JSON representation

Find target keyword mention(s) from YouTube videos. Similar to Mention but for videos. Sponsored by SerpApi.

Awesome Lists containing this project

README

        

# YouTube Mention(s) Tracker

Streamlit YouTube Videos Mention Tracker Demo

## Purpose/Idea

The main idea is taken from a great tool called [Mention](https://mention.com/en/). This demo shows the same idea but for YouTube videos only by transcribing videos (even if the video without captions).

**Scenario**: user wants to track someone said certain keywords like "Serp Api". Or a query "switching from iphone to..." and target keyword like "poor" (for poor quality), or "No..." (no support for certain feature that android has) and similar keywords that may identify reasons of switching.

Another example is a certain search query in a company niche and a target keyword to look in those videos that may benefit company by getting more context out of it.

Things to improve

1. Async videos download or reading audio as a stream instead of saving?
2. Transcribing as a stream. Whisper can't do it at the time this demo is written. https://github.com/openai/whisper/discussions/2#discussioncomment-3702403
3. Run searches with cron job. Identify new videos for the same query(ies).
4. Speed up pagination (if using) with multithreading (?). Commented out in the code to show how pagination done without multithreading. https://github.com/serpapi/google-search-results-python#batch-asynchronous-searches
5. Remove code duplication. Like creating centered button, SAVE_OPTION conditions (lines 258-311)

## Video Example

https://user-images.githubusercontent.com/78694043/210506842-bdf91d41-a9ad-4c1e-bac1-c2d871bcf597.mp4

This is how transcribed results (if any) would look like:

![transcribed-results](https://user-images.githubusercontent.com/78694043/210507490-37e2e799-842f-4a54-a189-d34b022bd23e.png)

## Usage

This section if you want to use your own API key. [The demo on `streamlit`](https://youtube-mentions-tracker.streamlit.app/) doesn't require you to use any API key.

Clone repository:

```bash
$ git clone https://github.com/dimitryzub/youtube-mention-tracker.git
```

Install dependencies:

```bash
$ cd youtube-mention-tracker && pip install -r requriements.txt
```

Add [SerpApi api key](https://serpapi.com/manage-api-key) for current shell and all processes started from current shell:

```bash
# used to parse youtube videos, has a plan of 100 free searches
$ export SERPAPI_API_KEY=
```

Run the app:

```bash
$ cd youtube-tracker && streamlit run tracker.py
```

Sponsored by SerpApi ๐Ÿงก