Dans Scrapy shell, construisez la requête que vous voulez que le téléchargeur exécute :

from scrapy import Request

fetch(Request(
    "https://www.example.com/",
    meta={"proxy": "http://proxy.example:8080"},
))
response.status

HttpProxyMiddleware lit la valeur de proxy dans les métadonnées de cette Request. Il doit être activé dans la configuration du middleware de téléchargement actif. La variable response qui suit appartient à cette récupération. Pour cette URL publique, choisissez une adresse HTTP sans authentification dans la liste de proxys HTTP si les intermédiaires publics sont autorisés, puis placez son URL dans les métadonnées de proxy de cette requête.

Lancer le shell depuis le projet Scrapy lui permet de charger la configuration de ce projet. Cela sélectionne le middleware et d'autres réglages ; cela ne choisit pas lui-même un point de terminaison de proxy particulier. Les métadonnées de requête ci-dessus fournissent ce choix directement.

Pour un proxy utilisant des identifiants Basic, Scrapy documente les informations utilisateur dans l'URL du proxy. Encodez les caractères réservés dans les composants du compte avant de la construire. Il n'est pas nécessaire d'ajouter un en-tête Authorization du site web pour ce compte.

Scrapy peut aussi découvrir des proxys à partir de ses variables d'environnement prises en charge. Les métadonnées de proxy explicites d'une requête ont la priorité. Pour une requête délibérément directe, une valeur de proxy None désactive la sélection basée sur l'environnement de ce middleware pour la requête.

Articles similaires