A Flask web application for searching movies and extracting download links from MLWBD websites. Built with Python Flask, Bootstrap 5, and modern web technologies.
- π Movie Search: Search for movies with intelligent filtering
- π₯ Download Links: Extract multiple download options
- π Direct Links: Generate direct download links
- π± Responsive Design: Works on desktop, tablet, and mobile
- π― RESTful API: Complete API endpoints for integration
- β‘ Fast & Efficient: Optimized scraping with caching
- π¨ Modern UI: Clean, intuitive interface with Bootstrap 5
- Python 3.7 or higher
- pip (Python package installer)
-
Clone the repository
git clone https://github.com/xspoilt-dev/mlwbd.git cd mlwbd
-
Install dependencies
pip install -r requirements.txt
-
Run the application
python app.py
-
Open your browser
http://localhost:5000
- Search Movies: Enter a movie name in the search box
- Select Movie: Click "Get Download Links" on your desired movie
- Get Links: Click "Get Direct Link" for each download option
- Manual Input: Paste direct movie links for quick access
GET /api/search?q=movie_name
GET /api/links?url=movie_url
GET /api/direct?url=link_url
import requests
# Search for movies
response = requests.get('http://localhost:5000/api/search?q=avengers')
movies = response.json()
# Get download links
response = requests.get('http://localhost:5000/api/links?url=movie_url')
links = response.json()
# Get direct link
response = requests.get('http://localhost:5000/api/direct?url=link_url')
direct_link = response.json()
- Flask - Python web framework
- Requests - HTTP library for API calls
- BeautifulSoup - HTML parsing and scraping
- Gunicorn - WSGI HTTP Server (for production)
- Bootstrap 5 - CSS framework
- Font Awesome - Icons
- Vanilla JavaScript - Interactive functionality
mlwbd/
βββ app.py # Main Flask application
βββ mlwbd.py # Core scraping module
βββ requirements.txt # Python dependencies
βββ README.md # Project documentation
βββ static/ # Static files
β βββ css/
β β βββ style.css # Custom styles
β βββ js/
β βββ script.js # JavaScript functionality
βββ templates/ # HTML templates
βββ base.html # Base template
βββ index.html # Home page
βββ about.html # About page
βββ error.html # Error pages
You can configure the application using environment variables:
export FLASK_ENV=development # or production
export FLASK_DEBUG=1 # Enable debug mode
export PORT=5000 # Port number
- Modify
static/css/style.css
for custom styling - Update
static/js/script.js
for additional functionality - Edit templates in
templates/
for UI changes
gunicorn --bind 0.0.0.0:5000 app:app
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "app:app"]
-
Create a
Procfile
:web: gunicorn app:app
-
Deploy:
heroku create your-app-name git push heroku main
All API endpoints return JSON responses in the following format:
{
"success": true,
"data": {...},
"error": null
}
Errors are returned with appropriate HTTP status codes:
{
"success": false,
"error": "Error message",
"traceback": "Detailed error information (in debug mode)"
}
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Make your changes
- Run tests:
python -m pytest
- Commit changes:
git commit -am 'Add feature'
- Push to branch:
git push origin feature-name
- Submit a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is created for educational purposes only. Please respect copyright laws and the terms of service of the websites you interact with. The developers are not responsible for any misuse of this application.
xspoilt-dev
- GitHub: @xspoilt-dev
If you like this project, please give it a β on GitHub!
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue if needed
- Provide detailed information about the problem
Made with β€οΈ by xspoilt-dev