• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用urllib库的urlretrieve()方法下载网络文件到本地的方法

python 搞代码 4年前 (2022-01-07) 21次浏览 已收录 0个评论

今天小编就为大家分享一篇使用urllib库的urlretrieve()方法下载网络文件到本地的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

概述

见源码

源码

 # !/usr/bin/env python # -*- coding:utf-8 -*- """ 图片(文件)下载,核心方法是 urllib.urlrequest 模块的 urlretrieve()方法 urlretrieve(url, filename=None, reporthook=None, data=None) url: 文件url filename: 保存到本地时,使用的文件(路径)名称 reporthook: 文件传输时的回调函数 data: post提交到服务器的数据 该方法返回一个二元元组("本地文件路径",) """ import requests import urllib.request from lxml import etree def crawl(): url='http://www.ivsky.com/tupian/haiyangshijie/' headers={ "User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36", } resp=requests.get(url,headers=headers) if resp.status_code==200: resp.encoding='UTF-8' html=etree.HTML(resp.text) img_titles=html.xpath('//ul[@class="ali"]//a/@title') img_urls=html.xpath('//ul[@class="ali"]//a/img/@src') data=zip(img_titles,img_urls) for img_title,img_url in data: print('开始下载{title}.jpg-600'.format(title=img_title)) result=urllib.request.urlretrieve(img_url, filename='../../data/图片下载爬虫/{title}.jpg-600'.format(title=img_title), reporthook=loading, data=None) # print(result) def loading(blocknum,blocksize,totalsize): """ 回调函数: 数据传输时自动调用 blocknum:已经传输的数据块数目 blocksize:每个数据块字节 totalsize:总字节 """ percent=int(100*blocknum*blocksize/totalsize) if percent>100: percent=100 print("正在下载>>>{}%".format(percent)) import time time.sleep(0.5) if __name__ == '__main__': crawl() 

运行结果

开始下载海里的海龟图片.jpg-600
正在下载>>>0%
正在下载>>>100%
开始下载绮丽的海底世界图片.jpg-600
正在下载>>>0%
正在下载>>>43%
正在下载>>>87%
正在下载>>>100%
开始下载可爱的海豹图片.jpg-600
正在下载>>>0%
正在下载>>>50%
正在下载>>>100%
开始下载不同的海星图片.jpg-600
正在下载>>>0%
正在下载>>>63%
正在下载>>>100%
开始下载可爱的水母图片.jpg-600
正在下载>>>0%
正在下载>>>100%
开始下载活泼可爱的海豚图片.jpg-600
正在下载>>>0%
正在下载>>>47%
正在下载>>>95%
正在下载>>>100%
开始下载阳光下的海胆壳图片.jpg-600
正在下载>>>0%
正在下载>>>63%
正在下载>>>100%
开始下载海洋中的水母图片.jpg-600
正在下载>>>0%
正在下载>>>56%
正在下载>>>100%
开始下载千姿百态的海螺图片.jpg-600
正在下载>>>0%
正在下载>>>62%
正在下载>>>100%
开始下载水族馆里的水生动植物图片.jpg-600
正在下载>>>0%
正在下载>>>46%
正在下载>>>93%
正在下载>>>100%
开始下载水母图片.jpg-600
正在下载>>>0%
正在下载>>>100%
开始下载海星摄影图片.jpg-600
正在下载>>>0%
正在下载>>>79%
正在下载>>>100%
开始下载五彩斑斓的海洋鱼群图片.jpg-600
正在下载>>>0%
正在下载>>>29%
正在下载>>>59%
正在下载>>>89%
正在下载>>>100%
开始下载漂亮的贝壳图片.jpg-600
正在下载>>>0%
正在下载>>>39%
正在下载>>>79%
正在下载>>>100%
开始下载海底水母图片.jpg-600
正在下载>>>0%
正在下载>>>82%
正在下载>>>100%
开始下载海底的珊瑚图片.jpg-600
正在下载>>>0%
正在下载>>>48%
正在下载>>>97%
正在下载>>>100%
开始下载海星高清图片.jpg-600
正在下载>>>0%
正在下载>>>25%
正在下载>>>50%
正在下载>>>75%
正在下载>>>100%
开始下载色彩鲜艳的热带海洋鱼图片.jpg-600
正在下载>>>0%
正在下载>>>63%
正在下载>>>100%

以上这篇使用urllib库的urlretrieve()方法下载网络文件到本地的方法就是小编分享给大家的来源gaodai#ma#com搞*!代#%^码$网全部内容了,希望能给大家一个参考,也希望大家多多支持gaodaima搞代码网

以上就是使用urllib库的urlretrieve()方法下载网络文件到本地的方法的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用urllib库的urlretrieve()方法下载网络文件到本地的方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址