scrapy wie man die Referer URL setzt

7

Ich muss die URL des Referrers setzen, bevor ich eine Site scrape, verwendet die Site URL-basierte Authentifizierung, so dass ich mich nicht einloggen kann, wenn der Referer ungültig ist.

Kann jemand sagen, wie man das in Scrapy macht?

    
vumaasha 25.10.2012, 13:36
quelle

4 Antworten

11

Wenn Sie den Referer in Ihrer Spider-Anfrage ändern möchten, können Sie DEFAULT_REQUEST_HEADERS in der Datei settings.py

ändern

Beispiel:

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

    
Cristóbal Morales 14.02.2013, 13:41
quelle
7

Sie sollten genau das tun, was @warwaruk angegeben hat, unten ist meine Beispiel-Ausarbeitung für eine Crawl-Spinne:

%Vor%

Dies sollte folgende Protokolle in Ihrem Terminal generieren:

%Vor%

Funktioniert gleich mit BaseSpider. Am Ende ist die start_requests-Methode die BaseSpider-Methode, von der CrawlSpider von. Erbt.

Dokumentation erläutert weitere Optionen, die in "Anfrage" festgelegt werden können B.: Cookies, Rückruffunktion, Priorität der Anfrage usw.

    
CloudRide 15.02.2014 13:23
quelle
3

Überschreiben Sie BaseSpider.start_requests und erstellen Sie dort Ihre eigenen Daten Bitte übergeben Sie Ihre Kopfzeile referer .

    
warvariuc 28.10.2012 15:40
quelle
3

Setzen Sie Referer URL in den Request-Headern

  

class scrapy.http.Request(url[, method='GET', body, headers, ...

     

headers (dict) – the headers of this request. The dict values can be strings (for single valued headers) or lists (for multi-valued headers).

Beispiel:

return Request(url=your_url, headers={'Referer':'http://your_referer_url'})

    
hahakubile 29.11.2013 08:24
quelle

Tags und Links