Real-time monitoring β’ AI Classification β’ Full-text Search β’ Change Detection
SOTA Web Crawler is a production-ready, high-performance web crawling system built with modern Python. It features real-time progress monitoring via WebSocket, intelligent content classification using AI, and a beautiful glassmorphic web interface.
|
|
|
|
- Python 3.11+
- pip
# Clone the repository
git clone https://github.com/CodeGovindz/Web-Crawler.git
cd Web-Crawler
# Install dependencies
pip install -r requirements.txt
# Install browser for JS rendering (optional)
playwright install chromiumWeb Interface
uvicorn web_api:app --reload
# Open http://localhost:8000Command Line
# Basic crawl
python main.py crawl https://example.com --max-pages 100
# With JavaScript rendering
python main.py crawl https://spa-site.com --render
# Resume interrupted crawl
python main.py resume| Endpoint | Method | Description |
|---|---|---|
/api/crawl |
POST |
Start a new crawl session |
/api/crawl/{id}/stop |
POST |
Stop a running crawl |
/api/history |
GET |
Retrieve crawl history |
/api/schedules |
GET POST |
Manage scheduled crawls |
/api/changes |
GET |
Get content change history |
/api/classify/session/{id} |
GET |
AI classification results |
/api/search?q=query |
GET |
Full-text search |
| Option | Description | Default |
|---|---|---|
--max-pages |
Maximum pages to crawl | 1000 |
--max-depth |
Maximum crawl depth | 10 |
--delay |
Delay between requests (seconds) | 1.0 |
--concurrent |
Concurrent requests | 5 |
--render |
Enable JavaScript rendering | False |
--respect-robots |
Respect robots.txt | True |
Web-Crawler/
βββ crawler/
β βββ crawler.py # Main crawl engine
β βββ fetcher.py # HTTP client with retry logic
β βββ parser.py # HTML/content parser
β βββ frontier.py # URL queue management
β βββ scheduler.py # Cron/interval scheduling
β βββ changes.py # Change detection system
β βββ classifier.py # AI content classification
β βββ search.py # Full-text search (FTS5)
β βββ robots.py # robots.txt handler
βββ ui/ # Web interface (HTML/CSS/JS)
βββ web_api.py # FastAPI REST API
βββ main.py # CLI entry point
βββ requirements.txt
| Category | Technology |
|---|---|
| Runtime | Python 3.11+ |
| Web Framework | FastAPI |
| Async HTTP | aiohttp, httpx |
| Browser Automation | Playwright |
| Database | SQLite (FTS5) |
| Real-time | WebSocket |
| Frontend | Vanilla JS, CSS3 |
This project is licensed under the MIT License - see the LICENSE file for details.
Built with modern Python for reliable, intelligent web crawling