Python Scrapy服务器不运行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 没有结果。爬

我设置了spider,它完全可以从命令行运行

$ 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)