通过scrapy内置的ImagePipeline下载图片到本地、并提取本地保存地址
2017-06-25 23:52
489 查看
1.通过scrapy内置的ImagePipeline下载图片到本地
2.获取图片保存本地的地址
1.通过scrapy内置的ImagePipeline下载图片到本地
1)在settings.py中打开 ITEM_PIPELINES 的注释,在 ITEM_PIPELINES 中加入
2)settings.py中加入
还有很多设置有特殊需要的话可以用哦 (详情可以去imagepipeine源码查看)
IMAGES_MIN_HEIGHT=100 #设定下载图片的最小高度
IMAGES_MIN_WIDTH=100 #设定下载图片的最小宽度
........
可能报错:
启动爬虫 ,即可images文件夹下看到下载的图片
2.获取图片保存本地的地址
1是下载图片,如果想获取图片保存本地的地址,则需要重写ImagesPipeline,并且在setting中调用重写的pipeline
#既然要重写,记得提前引入
from scrapy.pipelines.images import ImagesPipeline
class ArticleImagePipeline(ImagesPipeline):
# 重载ImagePipeline中的item_completed方法,获取下载地址
def item_completed(self, results, item, info):
for ok,value in results: #通过断点可以看到图片路径存在results内
image_file_path=value['path'] #将路径保存在item中返回
item['front_image_path']=image_file_path
return item
2.获取图片保存本地的地址
1.通过scrapy内置的ImagePipeline下载图片到本地
1)在settings.py中打开 ITEM_PIPELINES 的注释,在 ITEM_PIPELINES 中加入
ITEM_PIPELINES = {
'spider_first.pipelines.SpiderFirstPipeline': 300, 'scrapy.pipelines.images.ImagesPipeline':5, #后面的数字代表执行优先级 ,当执行pipeine的时候会按照数字由小到大执行 }
2)settings.py中加入
IMAGES_URLS_FIELD ="image_url" #image_url是在items.py中配置的网络爬取得图片地址 #配置保存本地的地址 project_dir=os.path.abspath(os.path.dirname(__file__)) #获取当前爬虫项目的绝对路径 IMAGES_STORE=os.path.join(project_dir,'images') #组装新的图片路径
还有很多设置有特殊需要的话可以用哦 (详情可以去imagepipeine源码查看)
IMAGES_MIN_HEIGHT=100 #设定下载图片的最小高度
IMAGES_MIN_WIDTH=100 #设定下载图片的最小宽度
........
可能报错:
ModuleNotFoundError: No module named 'PIL' 安装pillow库即可 pip install pillow
启动爬虫 ,即可images文件夹下看到下载的图片
2.获取图片保存本地的地址
1是下载图片,如果想获取图片保存本地的地址,则需要重写ImagesPipeline,并且在setting中调用重写的pipeline
#既然要重写,记得提前引入
from scrapy.pipelines.images import ImagesPipeline
class ArticleImagePipeline(ImagesPipeline):
# 重载ImagePipeline中的item_completed方法,获取下载地址
def item_completed(self, results, item, info):
for ok,value in results: #通过断点可以看到图片路径存在results内
image_file_path=value['path'] #将路径保存在item中返回
item['front_image_path']=image_file_path
return item
相关文章推荐
- 提取CuteEditor编辑器中的图片地址,并将远程图片保存到本地
- 初试Scrapy(五)—通过下载保存美女图片来学习下Spider中间件(Spider Middlewares)
- php通过网页图片地址将图片保存到本地
- Scrapy框架学习 - 使用内置的ImagesPipeline下载图片
- scrapy 通过ImagePipelines下载图片并以非hash值作为图片名字来保存(保留图片原文件名)
- 提取CuteEditor编辑器中的图片地址,并将远程图片保存到本地
- 提取CuteEditor编辑器中的图片地址,并将远程图片保存到本地
- 提取CuteEditor编辑器中的图片地址,并将远程图片保存到本地
- Scrapy ImagePipeline(图片下载组件)
- Scrapy框架学习 - 扩展内置的ImagesPipeline实现图片下载
- 如何找到网页图片地址并下载到本地保存?
- 用asp自动解析网页中的图片地址,并将其保存到本地服务器
- 使用urlconnection下载文件或图片并保存到本地
- ASP.NET下载远程图片保存到本地的方法、保存抓取远程图片
- 用asp自动解析网页中的图片地址,并将其保存到本地服务器
- ASP.NET通过URL将图片下载到电脑本地文件夹
- QTP 通过URL地址下载文件到本地
- 怎么将验证码图片保存到本地或是用Image显示
- 使用URLConnection下载文件或图片并保存到本地
- java 根据url下载图片保存到本地