[PYTHON] Scrapy-Redis wird zum Crawlen einer großen Anzahl von Domänen empfohlen
Scrapy-Redis
https://github.com/rolando/scrapy-redis
pip install scrapy_redis
Und ersetzen Sie einfach die Grundeinstellungen.py
Vorteile der Einführung
- Sie können Redis für Scrapy Scheduler, start_urls-Warteschlange und Pipeline verwenden (separate erweiterte Einstellungen).
- Einfach für externe Zusammenarbeit und Multiplexing
- Da die Scheduler-Warteschlange dauerhaft ist, kann sie auch dann neu gestartet werden, wenn der Crawler in der Mitte angehalten wird.
- Sie können mehrere gleiche Spider in mehreren Prozessen oder auf mehreren Servern starten und gleichzeitig parallel crawlen.
- Durch Setzen der Ausgabe auf Redis in der Pipeline kann die nachfolgende Verarbeitung von einem anderen Arbeitsprozess verarbeitet werden.
- Massenschreiben an DB
--Sprechen
- An den Stream für maschinelles Lernen senden
--Spiders start_urls können auch redis sein, sodass Sie sie von einem externen Dienst in die Start-URL-Warteschlange verschieben können.
Abhängig von der Abstimmung kann Scrapy mit 1 Kern etwa 1000 Seiten / Minute erreichen (100% CPU können verbraucht werden).
Mit Scrapy-Redis können Sie die Anzahl der Kerne * 1000 Seiten / Minute crawlen.