2014-05-22 5 views
5

ich Schabe Daten von mehreren tausend Seiten mit der allgemeinen URL:Wenn ich einen 500 internen Serverfehler in Scrapy bekomme, wie überspringe ich die URL?

http://example.com/database/?id=(some number) 

wo ich durch die ID-Nummern leite.

Ich begegne immer wieder großen Stücken von URLs, die einen 500 internen Serverfehler erzeugen, und Scrapy geht aus irgendeinem Grund mehrmals über diese Stücke hinweg. Das kostet viel Zeit, also frage ich mich, ob es einen Weg gibt, sofort zur nächsten URL zu wechseln und keine scrapy-Sendeanfragen mehr zu haben.

+0

http://doc.scrapy.org/en/latest/topics/downloader-middleware.html - Haben Sie sich das angesehen. Es scheint, dass der Wiederholungsversuch standardmäßig aktiviert ist. Ich habe es jedoch überflogen und es nicht tief gelesen. – PyNEwbie

Antwort

6

Die Komponente, die 500 Fehler wiederholt, ist RetryMiddleware.

Wenn Sie nicht möchten, dass Scrapy Anfragen erneut zu versuchen, die 500-Statuscode erhalten haben, in Ihrem settings.py Sie RETRY_HTTP_CODES einstellen können nicht 500 enthalten (Standard ist [500, 502, 503, 504, 400, 408]) oder die RetryMiddleware deaktivieren zusammen mit RETRY_ENABLED = False

Siehe RetryMiddleware settings für Mehr.

+1

Vielen Dank, das hat funktioniert! – galilei

Verwandte Themen