https://github.com/jmoussa/youtube-content-recommendation
An RESTful API paired with a content scraper that analyzes popular YouTube content and arranges it in interesting ways for the end user (via API endpoints).
https://github.com/jmoussa/youtube-content-recommendation
content-recommendation elasticsearch elasticsearch-client fastapi google python web-service youtube youtube-api
Last synced: about 2 months ago
JSON representation
An RESTful API paired with a content scraper that analyzes popular YouTube content and arranges it in interesting ways for the end user (via API endpoints).
- Host: GitHub
- URL: https://github.com/jmoussa/youtube-content-recommendation
- Owner: jmoussa
- Created: 2021-04-13T02:27:19.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-07-31T01:08:51.000Z (almost 5 years ago)
- Last Synced: 2025-06-21T21:08:00.009Z (about 1 year ago)
- Topics: content-recommendation, elasticsearch, elasticsearch-client, fastapi, google, python, web-service, youtube, youtube-api
- Language: Python
- Homepage:
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# YouTube Content Recommendation Service
This repo will host all of the backend code related to fetching Youtube Content in order to showcase on the front-end (comming soon).
The API will handle the RESTful requests sent to the front-end and will communicate the data from Elasticsearch.
The Content-Engine is responsible for pulling data from YouTube and uploading it properly in Elasticsearch amd maintaining content in Elasticsearch.
## Setup
This project uses Anaconda so access to the `conda` command will be referring to the python virtual environments.
This project also uses `setup.py` to handle packaging, namespacing and installing dependencies.
```bash
conda env create -f environment.yml # create the python environment from the template
conda activate youtube # activates the python environment
python setup.py develop # installs dependencies (to the conda environment)
```
## To run the Content-Engine's scraper
Call the scraper script and supply it with __one__ of the 3 options shown below:
```bash
python aggtube/content-engine/scraper.py popular|categories|top_tags
```
Each option crawls content by that specific criteria from YouTube
## Running the REST API server
```bash
./run_api_server
```
__Navigate to `localhost:8000/docs` to view the API Documentation__