A multi-agent web scraper chatbot that uses CrewAI and DeepSeek-Vision to scrape websites and answer questions about their content. The system handles CAPTCHAs, dynamic content, and provides reasoning-based answers with HTML element references.
- Multi-agent system using CrewAI for orchestration
- Web scraping with Playwright for JavaScript-heavy sites
- CAPTCHA detection and solving using DeepSeek-Vision
- Question answering with reasoning and HTML element references
- FastAPI backend with OpenAPI documentation
- Python 3.10 or higher
- Ollama installed and running locally
- DeepSeek-Vision model pulled in Ollama
- Clone the repository:
git clone <your-repo-url>
cd llm-webscraper- Install dependencies using UV:
uv venv
source .venv/bin/activate # On Unix/macOS
.venv\Scripts\activate # On Windows
uv pip install -e .- Install Playwright browsers:
playwright install- Install and setup Ollama:
# Follow Ollama installation instructions from https://ollama.ai
ollama pull deepseek-vision- Start the FastAPI server:
uvicorn src.api.main:app --reload- The API will be available at http://localhost:8000
- API documentation is available at http://localhost:8000/docs
- POST
/ask- Input: JSON with
urlandqueryfields - Output: Answer with reasoning and relevant HTML element
- Input: JSON with
llm-webscraper/
├── src/
│ ├── agents/ # CrewAI agent definitions
│ ├── tools/ # Custom tools and utilities
│ └── api/ # FastAPI application
├── tests/ # Test files
├── pyproject.toml # Project metadata and dependencies
└── README.md # This file
MIT