Guide complet pour installer et utiliser Shot-scraper : l'outil de capture d'écran automatisé

Shot-scraper est un utilitaire en ligne de commande puissant, basé sur le moteur Playwright, conçu pour automatiser la capture d'écran de pages web. Que vous soyez développeur, responsable de documentation ou analyste de données, cet outil permet de s'affranchir des tâches répétitives de capture manuelle en offrant une précision de rendu exceptionnelle et une flexibilité totale via script.

Prérequis système

Avant de procéder à l'installation, assurez-vous que votre environnement dispose des éléments suivants :

  • Python : Version 3.7 ou supérieure (3.9+ recommandée).
  • Pip : Gestionnaire de paquets mis à jour.
  • Espace disque : Environ 500 Mo pour les binaires des navigateurs.

Installation rapide via Pip

La méthode la plus simple pour installer Shot-scraper consiste à utiliser le dépôt officiel PyPI. Exécutez la commande suivante dans votre terminal :

pip install shot-scraper

Une fois l'installation du paquet terminée, vous devez configurer les moteurs de rendu (navigateurs sans interface graphique) via Playwright :

shot-scraper install

Par défaut, cette commande installe Chromium. Si vous avez besoin de tester la compatibilité sur d'autres moteurs, vous pouvez spécifier des navigateurs additionnels :

# Installer Firefox et WebKit (Safari)
shot-scraper install -b firefox -b webkit

Installation pour le développement (Sources)

Si vous souhaitez modifier le code source ou tester des fonctionnalités expérimentales, installez l'outil directement depuis son dépôt :

git clone https://github.com/simonw/shot-scraper.git
cd shot-scraper
pip install -e .

Utilisation fondamentale

L'outil est conçu pour être intuitif. Voici quelques exemples de commandes courantes pour démarrer immédiatement.

1. Capture simple d'une URL

Pour capturer une vue standard d'un site web (format 1280x720 par défaut) :

shot-scraper https://www.wikipedia.org -o wikipedia.png

2. Capture de la page entière

Pour ignorer la zone de visualisation et capturer toute la hauteur de la page :

shot-scraper https://github.com --full-page -o github-complet.png

3. Ciblage d'un élément spécifique

Shot-scraper permet de n'isoler qu'une partie de la page grâce aux sélecteurs CSS :

shot-scraper https://news.ycombinator.com --selector ".hnname" -o logo-hn.png

4. Gestion du contenu dynamique

Pour les sites utilisant beaucoup de JavaScript, il est souvent nécessaire d'attendre la fin des animations ou du chargement des données :

shot-scraper https://www.apple.com --wait 2500

Résolution des problèmes fréquents

Voici comment traiter les erreurs de configuraton les plus usuelles :

  • Commande introuvable : Assurez-vous que le répertoire des scripts Python est bien présent dans votre variable d'environnement PATH.
  • Échec du téléchargement du navigateur : Si vous êtes derrière un proxy, configurez les variables HTTP_PROXY et HTTPS_PROXY avant de lancer shot-scraper install.
  • Dépendances Linux manquantes : Sur Ubuntu/Debian, il peut être nécessaire d'installer les bibliothèques système via playwright install-deps.

Automatisation avec GitHub Actions

L'un des plus grands atouts de Shot-scraper est son intégration facile dans les pipelines CI/CD. Voici un exemple de workflow pour automatiser une capture quotidienne :

name: Screenshot Automation
on:
  schedule:
    - cron: '0 0 * * *' # Exécution à minuit
jobs:
  capture:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.10'
      - name: Install Tooling
        run: |
          pip install shot-scraper
          shot-scraper install
      - name: Run Capture
        run: shot-scraper https://example.com -o daily-shot.png
      - name: Upload Image
        uses: actions/upload-artifact@v3
        with:
          name: web-captures
          path: daily-shot.png

Aller plus loin

Shot-scraper ne se limite pas aux images. Vous pouvez également générer des fichiers PDF de haute qualité en remplaçant simplement l'extension ou en utilisant la sous-commande dédiée :

shot-scraper pdf https://www.google.com -o recherche.pdf

Pour découvrir l'ensemble des paramètres (authentification par cookies, injection de JavaScript personnalisé, gestion du mode sombre), consultez l'aide intégrée via shot-scraper --help.

Étiquettes: shot-scraper Playwright Python automation web-scraping

Publié le 8 août à 02h41