par_scrape : un outil d'exploration pour l'extraction intelligente de données web

Introduction générale

par_scrape est un crawler web open source basé sur Python, lancé sur GitHub par le développeur Paul Robello, conçu pour aider les utilisateurs à extraire intelligemment des données à partir de pages web. Il intègre deux puissantes technologies d'automatisation des navigateurs, Selenium et Playwright, et les combine avec des capacités de traitement de l'intelligence artificielle pour prendre en charge l'exploration de données à partir de pages statiques simples jusqu'à des sites web dynamiques complexes. Qu'il s'agisse d'extraire des prix, des titres ou d'autres informations structurées, par_scrape accomplit rapidement la tâche en spécifiant des champs et produit les résultats sous forme de Markdown, JSON ou CSV. Projet pour les développeurs, les analystes de données ou les utilisateurs qui souhaitent automatiser la collecte d'informations sur le Web, facile à installer et aux fonctionnalités flexibles, populaire dans la communauté open source.

par_scrape:智能提取网页数据的爬虫工具

 

Liste des fonctions

  • Extraction intelligente des donnéesLes services d'aide à la décision : analyse du contenu web à l'aide de modèles d'IA tels que OpenAI ou Anthropic pour extraire avec précision les champs spécifiés par l'utilisateur.
  • Support double pour les chenillesLe site web prend en charge les technologies Selenium et Playwright, qui peuvent être adaptées à différentes architectures de sites web.
  • Plusieurs formats de sortieLes résultats de la capture peuvent être exportés vers Markdown, JSON, CSV ou Excel pour faciliter le traitement ultérieur.
  • Capture de champs personnalisésLes utilisateurs peuvent spécifier les champs à extraire, tels que le titre, la description, le prix, etc. pour répondre à des besoins personnalisés.
  • capture parallèleLes données peuvent être consultées à plusieurs reprises afin d'améliorer l'efficacité de la collecte de données à grande échelle.
  • Mécanisme d'attenteLes méthodes d'attente du chargement des pages (par exemple, pause, attente du sélecteur) sont variées pour garantir le succès de l'exploration du contenu dynamique.
  • Sélection du modèle d'IAPrise en charge de plusieurs fournisseurs d'IA (par exemple OpenAI, Anthropic, XAI) pour une adaptation flexible à différentes tâches.
  • Optimisation du cacheLes services d'aide à la décision : Fonction de mise en cache des indices intégrée pour réduire le coût des requêtes répétées et améliorer l'efficacité.

 

Utiliser l'aide

Processus d'installation

Pour utiliser par_scrape, vous devez d'abord effectuer les étapes d'installation suivantes afin de vous assurer que votre environnement est bien préparé. Vous trouverez ci-dessous un guide d'installation détaillé :

1. préparation à l'environnement

  • Version PythonPython : Assurez-vous que Python 3.11 ou une version plus récente est installé sur votre système en utilisant la commande python --version Vérifier.
  • Outils Git: Utilisé pour cloner du code depuis GitHub, s'il n'est pas installé, il est accessible via la commande sudo apt install git(Linux) ou le site officiel pour le télécharger et l'installer.
  • Outils UVIl est recommandé d'utiliser UV pour gérer les dépendances, la commande d'installation est la suivante :
    • Linux/Mac :curl -LsSf https://astral.sh/uv/install.sh | sh
    • Fenêtres :powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

2. clonage de projets

Clonez le projet par_scrape localement en entrant la commande suivante dans le terminal :

git clone https://github.com/paulrobello/par_scrape.git  
cd par_scrape

3. installation des dépendances

Utilisez UV pour installer les dépendances du projet :

uv sync

Ou installez directement depuis PyPI :

uv tool install par_scrape  
# 或使用 pipx  
pipx install par_scrape

4. installation du dramaturge (facultatif)

Si vous choisissez Playwright comme moteur de recherche, vous devrez installer et configurer votre navigateur :

uv tool install playwright  
playwright install chromium

5. configurer la clé API

par_scrape supporte plusieurs fournisseurs d'IA, vous devez configurer la clé correspondante dans la variable d'environnement. Editer ~/.par_scrape.env ajouter les éléments suivants (à sélectionner selon les besoins) :

OPENAI_API_KEY=your_openai_key  
ANTHROPIC_API_KEY=your_anthropic_key  
XAI_API_KEY=your_xai_key

Ou définissez la variable d'environnement avant d'exécuter la commande :

export OPENAI_API_KEY=your_openai_key

Utilisation

Une fois l'installation terminée, vous pouvez lancer par_scrape à partir de la ligne de commande, voici la procédure détaillée :

Exemple d'utilisation de base

Supposons que vous souhaitiez extraire le titre, la description et le prix de la page de tarification de l'OpenAI :

par_scrape --url "https://openai.com/api/pricing/" -f "Title" -f "Description" -f "Price" --model gpt-4o-mini --display-output md
  • --urlL'adresse de la page web cible : L'adresse de la page web cible.
  • -f: Spécifier le champ d'extraction, qui peut être utilisé plusieurs fois.
  • --modelSélectionnez le modèle AI (par exemple, gpt-4o-mini).
  • --display-outputFormat de sortie (md, json, csv, etc.).

Fonction en vedette Fonctionnement

  1. Changement d'outils de crawler
    Playwright est utilisé par défaut, si vous souhaitez utiliser Selenium, vous pouvez ajouter des paramètres :

    par_scrape --url "https://example.com" -f "Title" --scraper selenium
    
  2. capture parallèle
    Définir le nombre maximum de requêtes parallèles pour améliorer l'efficacité :

    par_scrape --url "https://example.com" -f "Data" --scrape-max-parallel 5
    
  3. Page dynamique en attente
    Pour les contenus chargés dynamiquement, des types d'attente et des sélecteurs peuvent être définis :

    par_scrape --url "https://example.com" -f "Content" --wait-type selector --wait-selector ".dynamic-content"
    

    Les types d'attente pris en charge sont les suivants none,pause,sleep,idle,selector répondre en chantant text.

  4. Chemin de sortie personnalisé
    Enregistre les résultats dans le dossier spécifié :

    par_scrape --url "https://example.com" -f "Title" --output-folder ./my_data
    

Détails du processus d'opération

Prenons l'exemple de la page de tarification du crawl :

  1. définition des objectifsPour ce faire, rendez-vous sur https://openai.com/api/pricing/ et confirmez que vous devez extraire le "Model", le "Pricing Input" et le "Pricing Output". Pricing Output".
  2. Exécuter la commande: :
    par_scrape --url "https://openai.com/api/pricing/" -f "Model" -f "Pricing Input" -f "Pricing Output" --model gpt-4o-mini --display-output json
    
  3. Voir les résultatsLe terminal affiche les données au format JSON ou les enregistre dans le fichier de sortie par défaut après l'exécution de la commande.
  4. Paramètres de réglageSi les données sont incomplètes, essayez d'ajouter --retries 5(nombre de tentatives) ou des ajustements --sleep-time 5(Temps d'attente).

mise en garde

  • Clé APILa fonction d'extraction de l'IA n'est pas disponible si la clé n'est pas valide.
  • Restrictions sur le site webCertains sites peuvent être dotés d'un mécanisme anti-crawl et il est recommandé d'utiliser l'option --headless(mode sans tête) ou pour régler la fréquence de saisie.
  • Utilisation du cacheSi vous souhaitez explorer plusieurs fois la même page, vous pouvez activer la fonction --prompt-cache Réduction des coûts.

Avec les étapes ci-dessus, les utilisateurs peuvent rapidement commencer à utiliser par_scrape et réaliser facilement des tâches d'extraction de données de pages web.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...