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初学者