Sto cercando di salvare l'output del comando crawy scrapy che ho provato scrapy crawl someSpider -o some.json -t json >> some.text
Ma non ha funzionato ... può un po 'di corpo dirmi come posso salvare l'output in un testo file .... Voglio dire i registri e le informazioni stampate da scrapy ...Come salvare Scrapy crawl Output di comando
6
A
risposta
9
È necessario reindirizzare anche lo stderr. Stai reindirizzando solo lo stdout. È possibile reindirizzare in qualche modo simile a questo:
scrapy crawl someSpider -o some.json -t json 2> some.text
La chiave è il numero 2, che "seleziona" stderr come sorgente per il reindirizzamento.
Se si desidera reindirizzare sia stderr e stdout in un unico file, è possibile utilizzare:
scrapy crawl someSpider -o some.json -t json &> some.text
Per ulteriori informazioni su reindirizzamento uscita: http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html
9
È possibile aggiungere queste righe al tuo settings.py
:
LOG_STDOUT = True
LOG_FILE = '/tmp/scrapy_output.txt'
E poi iniziare la scansione normalmente:
scrapy crawl someSpider
0
se si desidera ottenere l'output dal comando runpider.
scrapy runspider scraper.py -o some.json -t json 2> some.text
Funziona anche.
Controllare [collegamento] (http://doc.scrapy.org/en/latest/topics/logging.html#logging-settings) per ulteriori impostazioni di registrazione. È anche possibile utilizzare il comando di scansione scrapy MyCrawler -s LOG_FILE =/var/log/crawler_mycrawler.log per modificare le impostazioni del crawler al volo. – pista329