scrapy crawl会在一个项目中执行函数之外的所有蜘蛛代码,如何解决?

时间:2016-03-03 01:52:38

标签: python scrapy

class spider1(scrapy.Spider):
    name = "spider1"
    client = MongoClient('mongodb://localhost:27017/')
    db=client.db
    col=db.col
    col.drop()
    col=db.col
    def parse():

class spider2(scrapy.Spider):
    name = "spider2"
    client = MongoClient('mongodb://localhost:27017/')
    db=client.db
    col=db.col
    def parse():

spider1我想刷新所有数据,然后编写,而spider2我想更新数据,但当我运行spider2时,数据库将执行drop,我已经在irc中询问过,有人告诉我, scrapy crawl将执行函数之外的所有代码。

如何解决这个问题?我尝试了几种方法: 1,使用管道,但我想存储数据,同时导出一个json文件(这是我的jsonpipeline,但你不能同时使用多个管道)。我找不到解决方案。 2,使用__init__功能。   我试过这样:

  spider3(scrapy.Spider):
  def __init__(self):
     super(spider3,self).__init__()
     print 'test function'

但是,它不起作用。

我一直在搜索,以解决这个问题,但没有找到解决办法。

希望有人可以帮助我,非常感谢! 来自一个scrapy初学者

0 个答案:

没有答案