Universal AI-Powered Web Scraper Library
Project description
QwlCrapstar: Universal AI-Powered Web Scraper
QwlCrapstar is a universal, AI-driven web scraping library that empowers you to extract ANY data from ANY website using natural language and schema-driven configuration.
Unlike traditional scrapers that break when sites change, QwlCrapstar uses LLMs to understand semantic meaning, making it self-healing and universally applicable.
✨ Key Features
- 🧠 Universal Scraper: Extract data based on meaning, not just CSS selectors.
- 🛡️ Self-Healing: Adapts automatically when website structures change.
- 🔌 Universal LLM Support: Choose any provider that fits your budget or privacy needs:
- Local: Ollama (Llama 3, Mistral, etc.)
- Free API: Groq (Lightning-fast Llama 3)
- Premium: OpenAI (GPT-4o), Anthropic (Claude 3.5), DeepSeek
- Custom: Pass any LangChain-compatible model directly
- 🕵️ Anti-Bot Defenses: Built-in Playwright-based browser automation with human-like behavior.
- 📊 Universal Schemas: Pre-built schemas for Jobs, E-commerce, Real Estate, and more.
- 🔒 Privacy First: You provide your own API keys; your data and credentials stay with you.
🚀 Quick Start (Coming Soon)
from qwl_crapstar import QwlCrapstar, PrebuiltSchemas
# Initialize with your preferred provider
scraper = QwlCrapstar(llm_provider="groq")
# Scrape any site with a natural language prompt
jobs = scraper.scrape(
url="https://example.com/jobs",
prompt="Extract all senior software engineer positions",
schema=PrebuiltSchemas.job_posting()
)
print(jobs)
🛠️ Installation
pip install qwlcrapstar
# Install playwright browsers
playwright install chromium
⚖️ License
MIT License - feel free to use it for anything!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qwlcrapstar-0.1.0.tar.gz.
File metadata
- Download URL: qwlcrapstar-0.1.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7acae39a39fda76e27251665ffd305d15c597f6f3a3f1444456d8dbc2ca8729f
|
|
| MD5 |
45b0316f2a586c41870505a9497ba81a
|
|
| BLAKE2b-256 |
7a5e3300b43f979e0f0caddd007c07ffa3520c42ddefaa0b5ea8bb07dc41945e
|
Provenance
The following attestation bundles were made for qwlcrapstar-0.1.0.tar.gz:
Publisher:
publish.yml on Ranzim/QwlCrapStar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qwlcrapstar-0.1.0.tar.gz -
Subject digest:
7acae39a39fda76e27251665ffd305d15c597f6f3a3f1444456d8dbc2ca8729f - Sigstore transparency entry: 886294938
- Sigstore integration time:
-
Permalink:
Ranzim/QwlCrapStar@500ecd93910e58843076797c10637543ed72cb65 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Ranzim
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@500ecd93910e58843076797c10637543ed72cb65 -
Trigger Event:
release
-
Statement type:
File details
Details for the file qwlcrapstar-0.1.0-py3-none-any.whl.
File metadata
- Download URL: qwlcrapstar-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f54a6f81a1903bf59a29cdb01c6b2d1b836d84f860f0acdd4a867af922b8674
|
|
| MD5 |
2bf5c11b52317bfc872ecff613263fce
|
|
| BLAKE2b-256 |
705e1965526e080f0e0b3e144dba6fdb44513b9719a715bce10bf2b83daa06e7
|
Provenance
The following attestation bundles were made for qwlcrapstar-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Ranzim/QwlCrapStar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qwlcrapstar-0.1.0-py3-none-any.whl -
Subject digest:
6f54a6f81a1903bf59a29cdb01c6b2d1b836d84f860f0acdd4a867af922b8674 - Sigstore transparency entry: 886294951
- Sigstore integration time:
-
Permalink:
Ranzim/QwlCrapStar@500ecd93910e58843076797c10637543ed72cb65 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Ranzim
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@500ecd93910e58843076797c10637543ed72cb65 -
Trigger Event:
release
-
Statement type: