Python Scrapy服务器不运行spider
我设置了spider,它完全可以从命令行运行Python Scrapy服务器不运行spider,python,parsing,web-crawler,scrapy,Python,Parsing,Web Crawler,Scrapy,我设置了spider,它完全可以从命令行运行 $ scrapy crawl somesite 我用这个字符串制作了一个shell脚本,并通过cronjob运行它。但这是一个非常糟糕的主意,因为爬虫不会等到结束之前的刮擦爬虫。所以我得到了一些非常有趣的结果。所以我试着让crawler通过 $ scrapy server $ curl http://localhost:6800/schedule.json -d project=myproject -d spider=spider2 没有结果。爬
$ scrapy crawl somesite
我用这个字符串制作了一个shell脚本,并通过cronjob运行它。但这是一个非常糟糕的主意,因为爬虫不会等到结束之前的刮擦爬虫。所以我得到了一些非常有趣的结果。所以我试着让crawler通过
$ scrapy server
$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=spider2
没有结果。爬虫程序无法运行。我不知道如何安排爬行器运行(例如每10分钟一次)。您正在使用哪个版本的Scrapy 要解决等待结束前一个爬虫程序的问题,请尝试以下简单控件:
#!/usr/bin/python
import os
import traceback
spiderName='someSpider'
# Block file
pid = str(os.getpid())
pidfile = "/tmp/" + spiderName + ".pid"
if os.path.isfile(pidfile):
print "%s is blocked, another process running..." % spiderName
sys.exit()
else:
file(pidfile, 'w').write(pid)
try:
os.chdir('/some/dir/crawlers')
os.execl('/usr/local/bin/scrapy', 'foo', 'crawl', spiderName)
except OSError:
print str(traceback.format_exc())
os.unlink(pidfile)