11
votes

SCRAPY Comment définir URL de référent

Je dois définir l'URL de référateur, avant de gratter un site, le site utilise une authentification basée sur l'URL, de sorte que cela ne me permet pas de vous connecter si le référateur n'est pas valide.

Quelqu'un pourrait-il dire comment faire cela dans Scrapy?


0 commentaires

4 Réponses :


3
votes

Supprimer BasesPider.Start_requests < / Code> et créez-y votre personnalisé Demande en passant votre référence en-tête.


0 commentaires

14
votes

Si vous souhaitez modifier le référateur de la demande de votre araignée, vous pouvez modifier défaut_Request_headers CODE> dans le fichier SETTINGS.PY STRY> Fichier:

DEFAULT_REQUEST_HEADERS = {
    'Referer': 'http://www.google.com' 
}


0 commentaires

5
votes

Il suffit de définir une URL de référateur dans les en-têtes de la demande

class skérapie.http.request (URL [ méthode = 'get', corps, en-tête, ...

en-têtes (dict) - les en-têtes de cette demande. Les valeurs de dict peuvent être des chaînes (pour des en-têtes valorisées) ou des listes (pour des en-têtes à valeur multi-valeurs).

Exemple:

demande de retour (URL = votre_url, Headers = {'Référeur': 'http: // votre_referer_url'})


0 commentaires

12
votes

Vous devez faire exactement comme @warwaruk indiqué, ci-dessous est mon exemple d'élaboration pour une araignée de crawl: xxx pré>

Ceci devrait générer des journaux suivants dans votre terminal: P>

(...)
[myspider] DEBUG: Crawled (200) <GET http://example.com/foo> (referer: http://www.example.com/)
(...)
[myspider] DEBUG: Crawled (200) <GET http://example.com/bar> (referer: http://www.example.com/)
(...)
[myspider] DEBUG: Crawled (200) <GET http://example.com/baz> (referer: http://www.example.com/)
(...)


0 commentaires