编辑:
这不是旧版本的 scrapy 的副本。Scrapy 最近几年发生了变化,当前版本是 0.24
Scrapy 在这几年的发展中发生了巨大的变化。大多数关于scrapy的stackoverflow答案都已经过时了。
我正在使用scrapy 0.24.4,并希望以单独的方式为每个链接下载图像。现在,使用scrapy文档,我可以下载图像,但它们只位于一个文件夹中。
我正在使用下面的代码,因此它会根据每个 url 保存在单独的文件夹中,但无法实现。此代码甚至不运行,它驻留在 pipelines.py 中。只有图像管道的默认行为被执行,即它下载 item['image_urls'] 中的每个 url。
管道.py
import scrapy
from scrapy.contrib.pipeline.images import ImagesPipeline
from scrapy.exceptions import DropItem
import urlparse
import urllib
class RecursiveScrapPipeline(object):
"""Custom Image to save in Structured folder """
def process_item(self, item, spider):
#item currently is image name
image_guid = item
return "%s/full/%s.jpg"% (id,image_guid)
#this should work , exactly as per documentation
def get_media_requests(self, item, info):
for image_url in item['image_urls']:
yield scrapy.Request(image_url,meta={'id':item['Property_name']})
我在正确的轨道上吗?什么可能是解决方案?