2013-05-20 13 views
6

Próbuję zapisać wynik polecenia przeszukiwania scrapy, które wypróbowałem scrapy crawl someSpider -o some.json -t json >> some.text Ale to nie zadziałało ... czy jakieś ciało może mi powiedzieć, w jaki sposób mogę zapisać wyjście do tekstu plik .... mam na myśli dzienniki i informacje drukowane przez scrapy ...Jak zapisać indeksowanie Scrapy Wyjście komendy

Odpowiedz

9

Musisz przekierować stderr też. Przekierowujesz tylko standardowe wyjście. można przekierować go jakoś tak:

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

Kluczem jest numer 2, który „wybiera” stderr jako źródło przekierowania.

Jeśli chcesz przekierować zarówno stderr i stdout do jednego pliku, można użyć:

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

Więcej informacji na temat wyjścia przekierowania: http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html

9

Możesz dodać te linie do swojego settings.py:

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

A następnie normalnie rozpocznij indeksowanie:

scrapy crawl someSpider 
+0

Sprawdź [link] (http://doc.scrapy.org/en/latest/topics/logging.html#logging-settings), aby uzyskać więcej ustawień rejestrowania. Możesz nawet użyć funkcji "scrapy crawl" MyCrawler -s LOG_FILE =/var/log/crawler_mycrawler.log ", aby zmienić ustawienia przeszukiwacza w locie. – pista329

0

jeśli chcesz uzyskać dane wyjściowe z polecenia runspider.

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

To działa również.