web-scraper

Par shobcoder · shob

Récupérez, explorez et extrayez des données depuis des sites web. À utiliser lorsque les utilisateurs demandent à scraper des pages web, extraire du contenu, crawler des sites web ou collecter des données sur internet.

npx skills add https://github.com/shobcoder/shob --skill web-scraper

Web Scraper

Présentation générale

Extraire le contenu et les données des sites web en utilisant diverses techniques, notamment le crawling, le scraping et l'extraction de données structurées.

Quand l'utiliser

  • Extraire du contenu textuel des pages web
  • Crawler des sites web complets
  • Collecter des données structurées
  • Rechercher et rassembler des informations
  • Surveiller les changements sur un site
  • Extraire des tableaux et des listes

Outils disponibles

Extraction de contenu

// Use extract_content_from_websites for structured extraction
// Supports batch processing of multiple URLs
// Returns JSON format with extracted content

Format des tâches

{
    tasks: [
        {
            url: "https://example.com",
            prompt: "Extract specific information",
            task_name: "optional_name"
        }
    ]
}

Modèles d'utilisation

Extraction simple de contenu

// Extract main content from a page
const result = await extract_content_from_websites({
    tasks: [{
        url: "https://news.example.com/article",
        prompt: "Extract the title, author, date, and main content"
    }]
});

Traitement par lot d'URL

// Process multiple URLs in parallel
const urls = [
    "https://site.com/page1",
    "https://site.com/page2",
    "https://site.com/page3"
];

const results = await extract_content_from_websites({
    tasks: urls.map((url, i) => ({
        url,
        prompt: "Extract all product information, prices, and descriptions",
        task_name: `product_${i}`
    }))
});

Extraction de données

// Extract structured data like prices, reviews, specifications
const data = await extract_content_from_websites({
    tasks: [{
        url: "https://ecommerce.example.com/products",
        prompt: "Extract product name, price, rating, and availability for all products listed"
    }]
});

Modes d'extraction

Mode automatique (par défaut)

  • Tente d'abord une requête HTTP GET
  • Bascule au rendu navigateur pour les pages CSR
  • Idéal pour la plupart des sites web

Mode curl uniquement

  • Requêtes HTTP directes rapides
  • Idéal pour les pages HTML statiques
  • Peut échouer sur les sites lourdement basés sur JavaScript

Mode navigateur uniquement

  • Rendu navigateur complet
  • Gère le contenu dynamique
  • Plus lent mais plus exhaustif

Bonnes pratiques

  1. Commencer par des extractions plus simples avant des modèles complexes
  2. Utiliser des prompts spécifiques pour un scraping ciblé
  3. Respecter les conditions d'utilisation du site
  4. Ajouter des délais entre les requêtes lors du scraping de plusieurs pages
  5. Gérer les erreurs correctement avec try/catch

Gestion des données

  • Retourne un format JSON pour un traitement facile
  • Gère efficacement les opérations par lot
  • Supporte la pagination si nécessaire
  • Maintient la structure des données dans les résultats

Skills similaires