Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/dimitryzub/youtube-mention-tracker
- Owner: dimitryzub
- Created: 2022-12-30T12:39:38.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-10T09:48:24.000Z (almost 2 years ago)
- Last Synced: 2024-05-30T06:00:46.814Z (6 months ago)
- Topics: mention-detection, python, webscraping, youtube, youtube-downloader
- Language: Python
- Homepage: https://youtube-mentions-tracker.streamlit.app/
- Size: 39.1 KB
- Stars: 7
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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 ๐งก