Home
Login

Web crawler Node.js/TypeScript haute performance, optimisé pour les LLM, prend en charge la récupération multi-moteurs de recherche et l'extraction de données structurées

MITTypeScript 500any4aiAnyCrawl Last Updated: 2025-07-03

Présentation détaillée du projet AnyCrawl

🚀 Aperçu du projet

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.

🎯 Caractéristiques principales

AnyCrawl excelle dans plusieurs domaines :

  • Scraping de SERP : Prise en charge de plusieurs moteurs de recherche, avec capacité de traitement par lots
  • Scraping de pages web : Extraction efficace du contenu de pages individuelles
  • Scraping de sites web : Fonctionnalité de crawling intelligent de sites entiers
  • Architecture haute performance : Conception d'architecture multi-threads et multi-processus
  • Traitement par lots : Traitement efficace des tâches de scraping par lots

🏗️ Architecture technique

Conception moderne

  • Construit sur Node.js/TypeScript
  • Optimisé pour les grands modèles de langage (LLM)
  • Prise en charge native du traitement par lots multi-threads
  • Conception d'architecture moderne

Moteurs de scraping pris en charge

AnyCrawl prend en charge plusieurs moteurs de scraping :

  1. Cheerio : Analyse HTML statique, le plus rapide
  2. Playwright : Rendu JavaScript, utilisant un moteur moderne
  3. Puppeteer : Rendu JavaScript, utilisant le moteur Chrome

🚀 Démarrage rapide

Déploiement Docker

Utilisez Docker Compose pour démarrer rapidement :

docker compose up --build

Configuration des variables d'environnement

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

📝 Guide d'utilisation de l'API

API de scraping de pages web

Utilisation de base

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"
}'

Description des paramètres

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)

API de scraping de moteurs de recherche

Utilisation de base

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"
}'

Description des paramètres

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 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

🧪 Tests et développement

Playground

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.

❓ Questions fréquentes

Q : Puis-je utiliser un proxy ?

R : Oui, AnyCrawl prend en charge les proxys HTTP et SOCKS. Configurez-le via la variable d'environnement ANYCRAWL_PROXY_URL.

Q : Comment gérer le contenu rendu par JavaScript ?

R : AnyCrawl prend en charge Puppeteer et Playwright pour gérer les besoins de rendu JavaScript.

Conclusion

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.

Star History Chart