2013-05-20 8 views
6

Ich versuche, die Ausgabe des Scrapy Crawl-Befehls Ich habe versucht Aber es hat nicht funktioniert ... kann mir einige Körper sagen, wie ich Ausgabe zu einem Text speichern kann Datei .... Ich meine die Protokolle und Informationen von scrapy ... gedrucktWie scrapy crawl zu speichern Command Ausgabe

Antwort

9

Sie müssen stderr auch umleiten. Sie leiten nur stdout um. Sie können es umleiten irgendwie wie folgt aus:

scrapy crawl someSpider -o some.json -t json 2> some.text

Der Schlüssel ist die Nummer 2, die „wählt“ stderr als Quelle für die Umleitung.

Wenn Sie sowohl stderr und stdout in eine Datei umleiten möchten, können Sie verwenden:

scrapy crawl someSpider -o some.json -t json &> some.text

Für mehr über die Umleitung der Ausgabe: http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html

9

Sie diese Zeilen hinzufügen können, um Ihre settings.py:

LOG_STDOUT = True 
LOG_FILE = '/tmp/scrapy_output.txt' 

und dann kriechen beginnen normalerweise:

scrapy crawl someSpider 
+0

Überprüfen Sie [link] (http://doc.scrapy.org/en/latest/topics/logging.html#logging-settings) für weitere Protokollierungseinstellungen. Sie können sogar 'scrapy crawl MyCrawler -s LOG_FILE =/var/log/crawler_mycrawler.log' -s-Trigger verwenden, um Crawler-Einstellungen im laufenden Betrieb zu ändern. – pista329

0

Wenn Sie die Ausgabe von runspider Befehl erhalten möchten.

scrapy runspider scraper.py -o some.json -t json 2> some.text 

Dies funktioniert auch.