鱼C论坛

 找回密码
 立即注册
查看: 1746|回复: 2

[已解决]求助!这段代码什么意思?求解

[复制链接]
发表于 2016-11-15 08:52:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如下代码,求解什么意思啊?
  1. for each in img_list:
  2.          filename = each.split("/")[-1]
  3.          urllib.request.urlretrieve(each,filename,None)
复制代码
最佳答案
2016-11-15 09:08:45
urlretrieve方法
直接将远程数据下载到本地。
复制代码 代码如下:

urllib.urlretrieve(url[, filename[, reporthook[, data]]])
参数说明:
url:外部或者本地url
filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据);
reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调。我们可以利用这个回调函数来显示当前的下载进度。
data:指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers),filename表示保存到本地的路径,header表示服务器的响应头。

下面通过例子来演示一下这个方法的使用,这个例子将新浪首页的html抓取到本地,保存在D:/sina.html文件中,同时显示下载的进度。
复制代码 代码如下:

  1. import urllib
  2. def callbackfunc(blocknum, blocksize, totalsize):
  3.     '''回调函数
  4.     @blocknum: 已经下载的数据块
  5.     @blocksize: 数据块的大小
  6.     @totalsize: 远程文件的大小
  7.     '''
  8.     percent = 100.0 * blocknum * blocksize / totalsize
  9.     if percent > 100:
  10.         percent = 100
  11.     print "%.2f%%"% percent
  12. url = 'http://www.sina.com.cn'
  13. local = 'd:\\sina.html'
  14. urllib.urlretrieve(url, local, callbackfunc)
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-11-15 08:53:14 | 显示全部楼层
求大家解答,麻烦了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-15 09:08:45 | 显示全部楼层    本楼为最佳答案   
urlretrieve方法
直接将远程数据下载到本地。
复制代码 代码如下:

urllib.urlretrieve(url[, filename[, reporthook[, data]]])
参数说明:
url:外部或者本地url
filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据);
reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调。我们可以利用这个回调函数来显示当前的下载进度。
data:指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers),filename表示保存到本地的路径,header表示服务器的响应头。

下面通过例子来演示一下这个方法的使用,这个例子将新浪首页的html抓取到本地,保存在D:/sina.html文件中,同时显示下载的进度。
复制代码 代码如下:

  1. import urllib
  2. def callbackfunc(blocknum, blocksize, totalsize):
  3.     '''回调函数
  4.     @blocknum: 已经下载的数据块
  5.     @blocksize: 数据块的大小
  6.     @totalsize: 远程文件的大小
  7.     '''
  8.     percent = 100.0 * blocknum * blocksize / totalsize
  9.     if percent > 100:
  10.         percent = 100
  11.     print "%.2f%%"% percent
  12. url = 'http://www.sina.com.cn'
  13. local = 'd:\\sina.html'
  14. urllib.urlretrieve(url, local, callbackfunc)
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 21:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表