Python Scrapy-为手动导入pythjon创建功能管道
在Scrapy中,我有一个管道,它为它所刮取的每个项目执行一系列工作,我希望创建一个函数,可以用来手动创建管道的实例,并传递我需要的信息 我没有OOP经验,以前从未使用过类。我看过的所有资源都包括一个init方法,它可以帮助我理解,但我只是迷路了 下面是我想尝试的一个片段,但我真的不想破坏任何东西 这似乎也是多余的,但再一次,我不知道我在做什么。因为我需要能够从几个不同的地方运行这个,我认为这是最有意义的,但任何输入都将不胜感激Python Scrapy-为手动导入pythjon创建功能管道,python,scrapy,pipeline,Python,Scrapy,Pipeline,在Scrapy中,我有一个管道,它为它所刮取的每个项目执行一系列工作,我希望创建一个函数,可以用来手动创建管道的实例,并传递我需要的信息 我没有OOP经验,以前从未使用过类。我看过的所有资源都包括一个init方法,它可以帮助我理解,但我只是迷路了 下面是我想尝试的一个片段,但我真的不想破坏任何东西 这似乎也是多余的,但再一次,我不知道我在做什么。因为我需要能够从几个不同的地方运行这个,我认为这是最有意义的,但任何输入都将不胜感激 class ItemPipeline: def proc
class ItemPipeline:
def process_item(self, item, spider):
do a bunch of important stuff
def open_spider(self, spider):
initialize db
def close_spider(self, spider):
close db
def functional_pipeline(argument1 =1, argument2 =False, argument3 ="Manual"):
ITEM = {argument1: argument1,
argument2: argument2,
argument3: argument3}
pipe = ItemPipeline()
pipe.item = ITEM
pipe.open_spider()
pipe.process_item(item=pipe.item)
pipe.close_spider()
python类的
\uuu init\uu
方法是执行pipe=itempippeline()
时运行的方法。它不是强制性的——只有当您希望在此步骤中运行一些代码时才真正需要它。对于重用ItemPipeline的当前用例,您不需要一个
对于函数的其余部分,不需要将项设置为spider的属性,但需要更改spider参数以使其成为可选的。这是你需要的代码
类项目管道:
def过程_项目(自身、项目、蜘蛛=无):
做一些重要的事情
def open_卡盘(自身,卡盘=无):
初始化数据库
def close_卡盘(自身,卡盘=无):
关闭数据库
def功能_管道(argument1=1,argument2=False,argument3=“手动”):
ITEM={argument1:argument1,
论点2:论点2,
argument3:argument3}
管道=项目管道()
管道。打开十字轴()
管道.工艺\项目(项目)
管道。关闭十字轴()