现在我已经定义了项目.py,例如:
#item.py
class schoolItem(scrapy.Item):
class specialtyItem(scrapy.Item):
class raidersItem(scrapy.Item):
class picturesItem(scrapy.Item):
然后,我将在同一个表中生成四个项目蜘蛛.py. 我将处理四项管道。但是三项是来自网页的数据项,另一项是图像项.so我决定调用imagesPipeline类来处理images项。 我的想法是:
#pipeline.py
class MyImagesPipeline(ImagesPipeline):
.....
.....
def process_item(self,item,spider):
if isinstance(item,schoolItem):
self.db[self.coll_a].insert(dict(item))
elif isinstance(item,specialtyItem):
self.db[self.coll_b].insert(dict(item))
elif isinstance(item,raidersItem):
self.db[self.coll_c].insert(dict(item))
elif isinstance(item,picturesItem):
self.get_media_requests(item, info)
return item
def get_media_requests(self, item, info):
for url in item["image_urls"]:
yield scrapy.Request(url,meta={'cname': item["cname"]})
但我不知道刮痧会不会把图片重新整理一下? 我想同时处理imageItem和其他三个项目,我该怎么办?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐