我正在运行一个自包含的Scrapy蜘蛛,它位于一个<h1>Some Heading 1</h1>
<h2>Some Heading 2</h2>
<h3>Some Heading 3</h3>
文件中。如果服务器出现故障/断电/脚本可能出现故障的任何其他原因,是否有一种优雅的方法可以确保我能够在恢复后恢复运行?
也许类似于内置的JOBDIR设置?
答案 0 :(得分:1)
整个documentation page涵盖了这个问题:
要启动支持持久性支持的蜘蛛,请运行它 这样:
scrapy crawl somespider -s JOBDIR=crawls/somespider-1
然后,您可以随时安全地停止蜘蛛(按Ctrl-C 或发送信号),然后通过发出相同的命令恢复它:
scrapy crawl somespider -s JOBDIR=crawls/somespider-1
答案 1 :(得分:1)
如果你有一个自包含的脚本,你仍然可以使用JOBDIR选项,例如您可以在custom_settings属性中设置值:
class MySpider(scrapy.Spider):
custom_settings = {
'JOBDIR': './job',
}
#...
或者,您可以在创建CrawlerProcess时设置此选项(如果这是您在脚本中运行蜘蛛的用途):
process = CrawlerProcess({'JOBDIR': './job'})
process.crawl(MySpider)
process.start()
答案 2 :(得分:0)
您可以使用supervisor。
[program:foo]
command=~/script_path/script.py