2014-05-22 7 views
5

che sto raschiando dati fuori diverse migliaia di pagine con l'URL generale:Se ricevo un errore del server interno 500 in Scrapy, come faccio a saltare l'URL?

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

dove io sono in esecuzione attraverso i numeri ID.

Continuo a riscontrare enormi blocchi di URL che generano un errore interno del server di 500, e per qualche motivo scrapy ripercorre più volte questi blocchi. Questo consuma molto tempo, quindi mi chiedo se c'è un modo per passare immediatamente al prossimo URL e non avere richieste di scrapy più volte.

+0

http://doc.scrapy.org/en/latest/topics/downloader-middleware.html - Hai guardato questo. Sembra che il tentativo sia abilitato di default. L'ho sfogliato e non l'ho letto profondamente. – PyNEwbie

risposta

6

Il componente che ritenta 500 errori è RetryMiddleware.

Se non si desidera Scrapy per riprovare le richieste che hanno ricevuto 500 codice di stato, nel tuo settings.py è possibile impostare RETRY_HTTP_CODES di non includere 500 (di default è [500, 502, 503, 504, 400, 408]), o disattivare la RetryMiddleware tutto con RETRY_ENABLED = False

Vedi RetryMiddleware settings per Di Più.

+1

Grazie mille, ha funzionato! – galilei

Problemi correlati