我正在开发一个 Scrapy 项目来抓取产品详细信息并从电子商务网站下载其图像。
在第一阶段,我只想抓取产品详细信息。
在第二阶段,我想下载刮掉的产品的图像。
但是当我执行这个命令时,scrapy crawl product
图像管道也会被调用。
我怎么能这样做?
这是我的代码:
管道.py
class ProductPipeline(object):
def process_item(self, item, spider):
if 'image' in getattr(spider, 'pipelines', []):
return item
else:
......
......
class jellyImagesPipeline(ImagesPipeline):
def get_media_requests(self, item, info):
for image_url in item['image_urls']:
yield Request(image_url)
Product_spider.py
class ProductSpider(BaseSpider):
pipelines=['ProductSpider']
name = "product"
def start_requests(self):
....
....
image_spider.py
class ImageSpider(BaseSpider):
pipelines=['image']
name = "image"
def start_requests(self):
....
....