A modern, high-performance web scraping tool that combines Selenium for robust browsing and AI (LLMs) for intelligent data extraction.
Currently configured to use Groq Cloud API (Llama 3.3) for ultra-fast, free, and lightweight parsing on your local machine.
- ⚡ Blazing Fast AI - Uses Groq's LPU inference engine (Llama 3.3-70b)
- 🌐 Smart Scraping - Headless Selenium browser handles dynamic JS-heavy websites
- 🎨 Modern UI - Beautiful Dark Mode Streamlit interface with real-time feedback
- 📊 Structured Data - Extracts clean tables, lists, and summaries from raw HTML
- 🛡️ Robust Cleaning - Smart content filtering to remove noise (scripts, styles, ads)
- Python 3.8+ installed
- Google Chrome installed
- Groq API Key (Free) - Get one at console.groq.com
-
Clone the repository:
git clone <repository-url> cd ai-web-scraper
-
Install dependencies:
pip install -r requirements.txt
-
Start the application:
streamlit run main.py
-
Open in Browser: Go to
http://localhost:8501
-
Scraping Layer (
scrape.py):- Launches a headless Chrome browser
- Navigates to the URL and bypasses basic protections
- Cleans the DOM to preserve only visible text content
-
Intelligence Layer (
parse.py):- The cleaned text is sent to the Groq Cloud API
- Llama 3.3-70b processes the content using specific user instructions
- Returns structured, precise answers
-
UI Layer (
main.py):- A responsive Streamlit dashboard manages the workflow
- Visual progress bars and status updates keep you informed
If you prefer total privacy and offline usage:
- Install Ollama and run
ollama serve - Open
main.py - Comment out the Groq import and uncomment Ollama:
# from parse import parse_with_groq from parse import perse_with_Ollama # Use this for local
GROQ_API_KEY: Automatically handled by the app (viasetxor fallback)CHROME_DRIVER_PATH: Managed automatically bywebdriver-manager
- "Module not found" error: Run
python -m pip install -r requirements.txt - "Chrome session not created": The app auto-updates the driver, but try updating your Chrome browser if issues persist.
- "Empty results": Try being more specific in your query (e.g., "List all projects" instead of just "projects").
Made with ❤️ using Streamlit & Groq
