AnyCrawl est une application de web scraping et d'extraction de données haute performance, construite sur Node.js/TypeScript. Ce projet est spécialement optimisé pour les grands modèles de langage (LLM), capable de convertir le contenu de sites web en formats de données utilisables par les LLM, et d'extraire des données structurées des pages de résultats de recherche (SERP) de moteurs de recherche tels que Google, Bing, Baidu, etc.
AnyCrawl excelle dans plusieurs domaines :
AnyCrawl prend en charge plusieurs moteurs de scraping :
Utilisez Docker Compose pour démarrer rapidement :
docker compose up --build
Nom de la variable | Description | Valeur par défaut | Exemple |
---|---|---|---|
NODE_ENV |
Environnement d'exécution | production | production, development |
ANYCRAWL_API_PORT |
Port du service API | 8080 | 8080 |
ANYCRAWL_HEADLESS |
Le moteur de navigateur utilise-t-il le mode sans tête | true | true, false |
ANYCRAWL_PROXY_URL |
URL du serveur proxy (prend en charge HTTP et SOCKS) | (Aucun) | http://proxy:8080 |
ANYCRAWL_IGNORE_SSL_ERROR |
Ignorer les erreurs de certificat SSL | true | true, false |
ANYCRAWL_KEEP_ALIVE |
Maintenir la connexion entre les requêtes | true | true, false |
ANYCRAWL_AVAILABLE_ENGINES |
Moteurs de scraping disponibles (séparés par des virgules) | cheerio,playwright,puppeteer | playwright,puppeteer |
ANYCRAWL_API_DB_TYPE |
Type de base de données | sqlite | sqlite, postgresql |
ANYCRAWL_API_DB_CONNECTION |
Chaîne/chemin de connexion à la base de données | /usr/src/app/db/database.db | /path/to/db.sqlite |
ANYCRAWL_REDIS_URL |
URL de connexion Redis | redis://redis:6379 | redis://localhost:6379 |
ANYCRAWL_API_AUTH_ENABLED |
Activer l'authentification API | false | true, false |
ANYCRAWL_API_CREDITS_ENABLED |
Activer le système de crédits | false | true, false |
curl -X POST http://localhost:8080/v1/scrape \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
-d '{
"url": "https://example.com",
"engine": "cheerio"
}'
Paramètre | Type | Description | Valeur par défaut |
---|---|---|---|
url |
string (requis) | L'URL à scraper. Doit être une URL valide commençant par http:// ou https:// | - |
engine |
string | Le moteur de scraping à utiliser. Options : cheerio (analyse HTML statique, le plus rapide), playwright (rendu JavaScript, moteur moderne), puppeteer (rendu JavaScript, moteur Chrome) | cheerio |
proxy |
string | L'URL du proxy pour la requête. Prend en charge les proxys HTTP et SOCKS. Format : http://[nom_utilisateur]:[mot_de_passe]@proxy:port | (Aucun) |
curl -X POST http://localhost:8080/v1/search \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
-d '{
"query": "AnyCrawl",
"limit": 10,
"engine": "google",
"lang": "all"
}'
Paramètre | Type | Description | Valeur par défaut |
---|---|---|---|
query |
string (requis) | La requête de recherche à exécuter | - |
engine |
string | Le moteur de recherche à utiliser. Options : google | |
pages |
integer | Le nombre de pages de résultats de recherche à récupérer | 1 |
lang |
string | Le code de langue des résultats de recherche (par exemple : 'en', 'zh', 'all') | en-US |
Vous pouvez utiliser le Playground pour tester l'API et générer des exemples de code pour votre langage de programmation préféré.
💡 Remarque : Si vous auto-hébergez AnyCrawl, assurez-vous de remplacer https://api.anycrawl.dev
par l'URL de votre propre serveur.
R : Oui, AnyCrawl prend en charge les proxys HTTP et SOCKS. Configurez-le via la variable d'environnement ANYCRAWL_PROXY_URL
.
R : AnyCrawl prend en charge Puppeteer et Playwright pour gérer les besoins de rendu JavaScript.
AnyCrawl représente l'avant-garde de la technologie de web scraping moderne, en particulier dans les scénarios d'application de l'IA et de l'apprentissage automatique. Ses performances élevées, sa facilité d'utilisation et ses riches fonctionnalités en font un choix idéal pour les développeurs et les entreprises qui traitent des tâches d'extraction de données à grande échelle.