A Django web application that generates concise summaries of YouTube videos using Natural Language Processing (NLP). The application extracts the transcript from YouTube videos and creates a summary highlighting the key points.
- Clean, minimalist user interface
- YouTube video transcript extraction
- Automatic text summarization using spaCy NLP
- Responsive design that works on both desktop and mobile devices
- Error handling for invalid YouTube URLs
- Python 3.x
- Django 4.1.7
- spaCy with English language model
- youtube-transcript-api
- Clone the repository:
git clone <repository-url>
cd <project-directory>
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install the required packages:
pip install -r requirements.txt
- Download the spaCy English language model:
python -m spacy download en_core_web_sm
- Run migrations:
python manage.py migrate
- Start the development server:
python manage.py runserver
The application will be available at http://127.0.0.1:8000/
- Visit the application's homepage
- Enter a valid YouTube video URL in the input field
- Click the "Submit" button
- The application will display a summary of the video content
- The application uses the
youtube-transcript-api
to extract video transcripts - Text processing and summarization is performed using spaCy's NLP capabilities
- The summary is generated using extractive summarization techniques
- The frontend is built with HTML and CSS, featuring a responsive design
s8project/
├── home/ # Main application directory
│ ├── utils.py # Contains transcript and summarization logic
│ ├── views.py # View functions
│ └── urls.py # URL routing
├── templates/ # HTML templates
│ └── index.html # Main page template
├── s8project/ # Project configuration
│ ├── settings.py # Django settings
│ └── urls.py # Project URL configuration
├── manage.py # Django management script
└── requirements.txt # Project dependencies
- For production deployment, make sure to:
- Set
DEBUG = False
in settings.py - Update
SECRET_KEY
with a secure value - Configure
ALLOWED_HOSTS
- Set up proper security middleware
- Set
- Only works with YouTube videos that have available transcripts
- Summary quality depends on the video transcript quality
- Currently only supports English language videos
Contributions are welcome! Please feel free to submit a Pull Request.
[Add your chosen license here]