2013-10-03 14 views
7

Ich benutze eine scrapy CrawlSpider und definierte einen verdrehten Reaktor, um meine Crawler zu steuern. Während der Tests habe ich eine Nachrichtenwebsite gecrawlt, auf der mehr als mehrere GB Daten gesammelt wurden. Meistens interessiere ich mich für die neuesten Geschichten, also suche ich nach einer Möglichkeit, die Anzahl der angeforderten Seiten, Bytes oder Sekunden zu begrenzen.Scrapy: Begrenzen Sie die Anzahl der Anfrage oder Anfrage Bytes

Gibt es eine gemeinsame Art und Weise eine Grenze von

  • request_bytes
  • request_counts oder
  • Laufzeit in Sekunden zu definieren?

Antwort

16

In scrapy gibt es die Klasse scrapy.contrib.closespider.CloseSpider. Sie können die Variablen CLOSESPIDER_TIMEOUT, CLOSESPIDER_ITEMCOUNT, CLOSESPIDER_PAGECOUNT und CLOSESPIDER_ERRORCOUNT definieren.

Die Spinne wird automatisch geschlossen, wenn die Kriterien erfüllt sind: http://doc.scrapy.org/en/latest/topics/extensions.html#module-scrapy.contrib.closespider

+0

gibt es kann ein Weg CLOSESIPDER_PAGECOUNT für jede Spinne dynamisch gesetzt werden? –

+1

@ImanAkbari: Bitte erstellen Sie eine richtige Frage für Ihr Problem. – Jon

Verwandte Themen