Guide d'Installation et de Configuration de Scrapy avec Python 3

Présentation de Scrapy

Scrapy est un framework applicatif de haut niveau conçu pour le crawling web et l'extraction de données structurées. Extrêmement rapide et asynchrone, il est largement utilisé pour le data mining, le monitoring de sites et les tests automatisés.

Préparation de l'environnement Python

Les anciennes versions de Scrapy nécessitaient une installation manulele et complexe de multiples dépendances (Twisted, w3lib, libxml2, pyOpenSSL). Avec les versions modernes de Python 3, le gestionnaire de paquets pip résout et compile automatiquement ces dépendances. Il est impératif d'utiliser Python 3.8 ou une version ultérieure.

1. Création d'un environnement virtuel

Pour isoler les dépendances du projet et éviter les conflits avec les paquets système, créez un environnement virtuel dédié.

# Création de l'environnement virtuel
python -m venv env_scrapy

# Activation sous Windows
env_scrapy\Scripts\activate

# Activation sous macOS/Linux
source env_scrapy/bin/activate

2. Mise à jour des outils de build

Avant d'installer le framework, assurez-vous que les outils d'empaquetage sont à jour pour éviter les erreurs de compilation lors de l'installation des dépendances C (comme lxml ou cryptography).

python -m pip install --upgrade pip setuptools wheel

Installation de Scrapy et de ses dépendances

L'installation principale intègre automatiquement le moteur réseau asynchrone Twisted, la bibliothèque de parsing lxml (qui remplace avantageusement libxml2), ainsi que les modules de sécurité comme pyOpenSSL.

pip install scrapy

Note pour les utilisateurs Windows : Si l'installation de Twisted ou cryptography échoue à cause d'outils de compilation C++ manquants, il est possible d'installer les binaires précompilés via pip install twisted cryptography avant de relancer l'installation de Scrapy, ou d'installer les "Build Tools for Visual Studio".

Validation de l'installation

Pour confirmer que le framework et ses composants sont correctement intégrés dans votre environnement, exécutez les commandes de vérification suivantes.

Vérification de l'interface en ligne de commande

(env_scrapy) $ scrapy version
Scrapy 2.11.0 - no active project

Usage:
  scrapy <command> [options] [args]

Available commands:
  bench         Run quick benchmark test
  fetch         Fetch a URL using the Scrapy downloader
  genspider     Generate new spider using pre-defined templates
  runspider     Run a self-contained spider (without creating a project)
  settings      Get settings values
  shell         Interactive scraping console
  startproject  Create new project
  version       Print Scrapy version
  view          Open URL in browser, as seen by Scrapy

Vérification des modules Python

Ouvrez l'interpréteur interactif pour vous assurer que les modules sous-jacents se chargent sans erreur.

(env_scrapy) $ python
Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import scrapy
>>> import twisted
>>> import lxml
>>> import OpenSSL
>>> print(scrapy.__version__)
2.11.0
>>>

Étiquettes: Scrapy Python3 web-scraping Twisted lxml

Publié le 21 juin à 19h58