时间:2021-05-22
在实现爬虫任务时,经常需要将一些图片下载到本地当中。那么在python中除了通过open()函数,以二进制写入方式来下载图片以外,还有什么其他方式吗?本文将使用urlretrieve实现直接远程下载图片。
下面我们再来看看 urllib 模块提供的 urlretrieve() 函数。urlretrieve() 方法直接将远程数据下载到本地。
>>> help(urllib.urlretrieve)Help on function urlretrieve in module urllib: urlretrieve(url, filename=None, reporthook=None, data=None)参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。
下面通过例子来演示一下这个方法的使用,这个例子将 google 的 html 抓取到本地,保存在 D:/google.html 文件中,同时显示下载的进度。
import urllibdef cbk(a, b, c): '''回调函数 @a: 已经下载的数据块 @b: 数据块的大小 @c: 远程文件的大小 ''' per = 100.0 * a * b / c if per > 100: per = 100 print '%.2f%%' % perurl = 'http:///hotsale2?cateid=686")运行结果如下图所示:
到此这篇关于Python使用urlretrieve实现直接远程下载图片的示例代码的文章就介绍到这了,更多相关Python urlretrieve远程下载内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一:使用Python中的urllib类中的urlretrieve()函数,直接从网上下载资源到本地,具体代码:importos,statimporturllib
因为今天想写个远程下载图片的类,提前热身写了个phpgd库实现远程图片下载功能,当然curl实现更好,phpgd库实现远程图片下载功能主要使用gd库的两个函数I
很多时候我们需要在Android设备上下载远程服务器上的图片进行显示,今天整理出两种比较好的方法来实现远程图片的下载。方法一、直接通过Android提供的Htt
本文实例讲述了python下载文件时显示下载进度的方法。分享给大家供大家参考。具体分析如下:将这段代码放入你的脚本中,类似:urllib.urlretrieve
这篇文章主要通过代码分析javascript实现图片上传前台页面,废话不多说了,直接贴代码了。代码示例一://检查图片的格式是否正确,同时实现预览functio