博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python下载文件
阅读量:6779 次
发布时间:2019-06-26

本文共 1902 字,大约阅读时间需要 6 分钟。

  hot3.png

import osimport sysimport socketimport urllibimport urllib2def Schedule(nBlock, nBlkSize, nFileSize):    '''''    nBlock:block num    nBlkSize:block size    nFileSize:remote size    '''    if nFileSize != -1:        per = 100.0 * nBlock * nBlkSize / nFileSize        if per > 100 :            per = 100        os.write(1, '\r processing percent: %.2f%%' % per)    else:        os.write(1, '\r processing download: %.2f MBytes' % ((nBlock * nBlkSize) / (1024 * 1024)))    sys.stdout.flush()   def getRemoteFileSize(url, proxy=None):    """    """    opener = urllib2.build_opener()    if proxy:        if url.lower().startswith('https://'):            opener.add_handler(urllib2.ProxyHandler({'https' : proxy}))        else:            opener.add_handler(urllib2.ProxyHandler({'http' : proxy}))    request = urllib2.Request(url)    request.get_method = lambda: 'HEAD'    try:        response = opener.open(request)        response.read()    except Exception, e:        print '%s %s' % (url, e)    else:        return dict(response.headers).get('content-length', 0)def downloadRemoteFile(strUrl, strLocalFile):    """        """    socket.setdefaulttimeout(10)    print "Beg Download %s -> %s" % (strUrl, strLocalFile)    urllib.urlretrieve(strUrl, strLocalFile, Schedule)    print "\nEnd Download %s -> %s\n" % (strUrl, strLocalFile)    if __name__ == '__main__':    url1='http://www.site-digger.com/uploads/soft/130313/China_Regions.csv'    url2='http://a.hiphotos.baidu.com/image/w%3D2048/sign=ca64d241e9c4b7453494b016fbc41f17/1c950a7b02087bf4cae00381f0d3572c11dfcf4e.jpg'    url3='http://dldir1.qq.com/music/clntupate/QQMusic_Setup_1020.exe'    url3='http://news.qq.com'        downloadRemoteFile(url1, "1.csv")    downloadRemoteFile(url2, "1.jpg")    downloadRemoteFile(url3, "1.html")

194234_J5wE_123914.jpg

这个帖子貌似写的比较详细,读者可以参考:

http://blog.ihipop.info/2010/10/1736.html

转载于:https://my.oschina.net/sanpeterguo/blog/293878

你可能感兴趣的文章
nginx服务器的半连接
查看>>
mysql创建计算字段
查看>>
http和socket之长连接和短连接区别
查看>>
C++ 成员函数 回调函数的实现
查看>>
2、通过BeautifulSoup检索文档中的tag
查看>>
java unicode转GBK
查看>>
Spring mvc中@RequestMapping 6个基本用法小结
查看>>
phpMyAdmin访问被拒绝(XAMPP环境)
查看>>
鼠标键盘共享工具Synergy介绍
查看>>
Android自动化测试工具
查看>>
ELK框架使用
查看>>
发布一个打飞机游戏
查看>>
弹性计算云安全现状、反思以及展望-魏兴国
查看>>
nginx+tomcat动静态资源分离
查看>>
Unity3D法线转换与切线空间总结
查看>>
Java操作数组的类
查看>>
用Laravel+Grunt+Bower管理你的应用
查看>>
SpringBoot资料整理(5)
查看>>
ssd
查看>>
Selenium2.0中文在线文档项目,求翻译达人
查看>>