1.使用urllib.urlretrieve()
用法:urlretrieve(url, filename=None, reporthook=None, data=None)
参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。
py2代码示例:
# -*- coding: utf-8 -*-
import urllib
img_src = 'http://724.169pp.net/bizhi/2017/039/1.jpg'
urllib.urlretrieve(img_src,r'C:\\Users\\ME\\Desktop\\Python project\\pachong\\scrapy\\secondDemo\\photo\\1.jpg')
2.使用PIL+requests
PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。
requests是python实现的最简单易用的HTTP库,建议爬虫使用requests库。默认安装好python之后,是没有安装requests模块的,需要单独通过pip安装
BytesIO是用