A modern web-based JAV metadata scraper with a beautiful UI, inspired by the JavSP project. This tool automatically extracts JAV codes from filenames and scrapes metadata from multiple sources.
- Smart JAV Code Detection: Automatically extracts JAV codes (XXXX-NNNN format) from filenames
- Multi-Source Scraping: Scrapes metadata from JavBus, JavLibrary, and JavDB
- Modern Web UI: Beautiful, responsive interface with real-time progress tracking
- NFO Generation: Creates NFO files compatible with Emby, Jellyfin, and Kodi
- Cover Download: Automatically downloads high-quality cover images
- Metadata Export: Saves comprehensive metadata in JSON format
- Dark Theme: Modern dark interface with smooth animations
- Real-time Progress: Live progress bar and status updates
- File Preview: Visual preview of detected JAV files
- Results Display: Detailed results with success/error status
- Responsive Design: Works on desktop and mobile devices
- Async Processing: Multi-threaded scraping for fast performance
- Error Handling: Robust error handling with detailed logging
- Configurable: YAML-based configuration system
- Cross-Platform: Works on Windows, macOS, and Linux
- Python 3.8 or higher
- pip (Python package manager)
-
Clone or download the project
git clone <repository-url> cd wooscraper
-
Install dependencies
pip install -r requirements.txt
-
Run the application
python app.py
-
Open your browser Navigate to
http://localhost:5000
- Enter the path to your JAV video folder in the input field
- Click "Scan Folder" to detect JAV files
- Review the detected files in the list
- Create NFO files: Generate NFO files for media servers
- Download covers: Download cover images for each title
- Organize files: Create organized folder structure
- Click "Start Scraping" to begin the process
- Monitor progress in real-time
- View results when complete
- Video:
.mp4,.avi,.mkv,.wmv,.mov - JAV Code Patterns:
ABC-1234,ABC1234,ABC_1234
Edit config.yml to customize the scraper behavior:
scraper:
sites:
- name: "javbus"
url: "https://www.javbus.com"
enabled: true
- name: "javlibrary"
url: "https://www.javlibrary.com"
enabled: true
- name: "javdb"
url: "https://javdb.com"
enabled: true
max_threads: 5
timeout: 30
video_extensions: [".mp4", ".avi", ".mkv", ".wmv", ".mov"]
create_nfo: true
download_cover: true
translate_title: true
language: "en"For each JAV file, the scraper creates:
π JAV_CODE/
βββ π JAV_CODE.nfo # NFO file for media servers
βββ πΌοΈ JAV_CODE-poster.jpg # Cover image
βββ π JAV_CODE-metadata.json # Complete metadata
βββ π¬ Original video file
GET /- Main application interfacePOST /api/scan-folder- Scan folder for JAV filesPOST /api/start-scraping- Start scraping processGET /api/job-status- Get current job statusPOST /api/stop-scraping- Stop scraping processGET /api/test-connection- Test scraping site connectionsGET /api/config- Get current configuration
-
No files detected
- Ensure files follow JAV naming convention (XXXX-NNNN)
- Check file extensions are supported
- Verify folder path is correct
-
Scraping fails
- Test connection to scraping sites
- Check internet connection
- Review log files for detailed errors
-
Slow performance
- Reduce
max_threadsin config - Check network connection
- Close other applications
- Reduce
- Application logs:
scraper.log - Check logs for detailed error information
- Educational Purpose: Designed for learning Python and web scraping techniques
- Personal Use: Intended for personal media organization only
- Legal Compliance: Users must comply with local laws and regulations
- No Commercial Use: Commercial use is strictly prohibited
- Privacy: Respect website terms of service and robots.txt
Contributions are welcome! Please feel free to submit issues and pull requests.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the GPL-3.0 License. See the LICENSE file for details.
- Inspired by JavSP project
- Built with Flask, Bootstrap, and modern web technologies
- Uses BeautifulSoup for web scraping
If you encounter issues or have questions:
- Check the troubleshooting section above
- Review the log files for error details
- Open an issue on the project repository
- Provide detailed information about your setup and the problem
Disclaimer: This tool is provided as-is for educational purposes. Users are responsible for ensuring compliance with applicable laws and website terms of service.