如何保存Scrapy crawl命令输出

vai*_*ain 9 python scrapy

我正在尝试保存我已经尝试过的scrapy crawl命令的输出 scrapy crawl someSpider -o some.json -t json >> some.text 但它没有用...有些机构告诉我如何将输出保存到文本文件....我的意思是日志和信息打印scrapy ...

cla*_*re_ 25

您可以将以下行添加到您的settings.py:

LOG_STDOUT = True
LOG_FILE = '/tmp/scrapy_output.txt'
Run Code Online (Sandbox Code Playgroud)

然后开始正常抓取:

scrapy crawl someSpider
Run Code Online (Sandbox Code Playgroud)

  • 检查[链接](http://doc.scrapy.org/en/latest/topics/logging.html#logging-settings)以获取更多日志记录设置。您甚至可以使用 `scrapycrawl MyCrawler -s LOG_FILE=/var/log/crawler_mycrawler.log` -s 触发器来动态更改爬网程序设置。 (2认同)

Jos*_*shi 15

您还需要重定向stderr.你只重定向stdout.你可以像这样重定向它:

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

键是2,它"选择"stderr作为重定向源.

如果要将stderr和stdout重定向到一个文件,可以使用:

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

有关输出重定向的更多信息,请访问:http: //tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html


tom*_*mjn 5

对于所有scrapy命令,您可以添加--logfile NAME_OF_FILE到日志文件中,例如

scrapy crawl someSpider -o some.json --logfile some.text
Run Code Online (Sandbox Code Playgroud)

还有两个其他有用的命令行选项用于日志记录:

  • -L--loglevel控制日志记录级别,例如-L INFO(默认为DEBUG

  • --nolog 完全禁用日志记录

这些命令记录在此处