Async_Web_scraper / README.md
orakzai-io's picture
Update README.md
151bf41 verified
|
Raw History Blame Contribute Delete
1.88 kB
---
license: mit
title: Async Web Scraper
sdk: docker
emoji: 🦀
colorFrom: pink
colorTo: pink
---
# AI-Powered Async Web Scraper
A professional, high-concurrency web scraping pipeline that extracts clean text from URLs, processes it through an LLM (Groq), and stores the structured results in both JSONL and PostgreSQL.
## Quick Start (Docker)
The easiest way to run the entire stack is using Docker Compose:
1. **Configure Environment**:
Create a `.env` file in the `Backend` directory with your Groq API Key:
```bash
GROQ_API_KEY=your_key_here
DB_PASSWORD=your_db_password
```
2. **Launch**:
```bash
docker-compose up -d
```
3. **Access**:
- **Frontend**: [http://localhost](http://localhost)
- **Backend API**: [http://localhost:8000](http://localhost:8000)
## Architecture
- **Frontend**: A modern dashboard built with **Vite** and **TypeScript** for real-time job monitoring and result downloads.
- **Backend**: A high-performance **FastAPI** service managing an asynchronous scraping pipeline.
- **Database**: **PostgreSQL** for persistent storage of parsed text and structured AI extractions.
- **Scraper**: Uses `curl_cffi` for advanced request impersonation to bypass bot detection.
- **Parser**: Leverages `trafilatura` for high-quality main-content extraction.
- **Extraction**: Integrates with **Groq** for lightning-fast LLM-based data structuring.
## Project Structure
- `Backend/`: FastAPI application, database models, and scraper logic.
- `Frontend/`: Vite/TS dashboard for job status tracking and results visualization.
- `docker-compose.yml`: Orchestration for the frontend, backend, and persistence layers.
---
For detailed setup and development instructions, see the individual component's documentation:
- [Backend Documentation](./Backend/README.md)
- [Frontend Documentation](./Frontend/README.md)