网页资源下载器
2015-07-28 15:14
225 查看
一个简单的python程序,用于下载pdf/txt/ppt等网页资源下载。
程序下载:
网页资源下载器
import urllib import urllib2 import re import socket #######################You may change here############### baseurl = '##########' #请自行添加下载网页地址 format = '(pdf|txt|cc|ppt|pptx)' #下载格式,可自行添加 ######################################################### def downfunc(blocknum, blocksize, totalsize): '''回调函数 @blocknum: 已经下载的数据块 @blocksize: 数据块的大小 @totalsize: 下载文件的大小 ''' percent = 100.0 * blocknum * blocksize / totalsize if percent > 100: percent = 100 print "下载完成^^~" else: print "已下载%.2f%%......"% percent def download(downurl, localFileName=None): #m = re.search('(\w+.pdf)',downurl) m = re.search('(\w+.%s)' % format,downurl) if localFileName == None: localFileName = m.group(0) print ("正在下载" + localFileName) try: urllib.urlretrieve(downurl, localFileName,downfunc) except socket.timeout: print "下载超时" socket.setdefaulttimeout(30) #打开页面 page = urllib2.urlopen(baseurl) # 读取包含HTML源码内容的页面信息 page_inform = page.read() # 获取资源列表 #list_of_res = re.findall(r'href=.*"(.*\.pdf)', page_inform) list_of_res = re.findall(r'href=.*"(.*\.%s)' % format, page_inform) # 去除重复的资源 list_of_res = list(set(list_of_res)) # 根据资源列表逐个下载 for res in list_of_res: downurl = res[0] if downurl[0:4] != 'http': downurl = baseurl+downurl download(downurl)
程序下载:
网页资源下载器
相关文章推荐
- android4.4 ROM开发者全盘扫描解决方案
- hdu2544
- 双线性插值
- 汉诺塔 X(二分法)
- 【转】Fragment Transactions & Activity State Loss
- 1061. Dating (20)
- PHP正则匹配title标题文本
- 双线性插值 分类: 图像处理 2015-07-28 15:14 7人阅读 评论(0) 收藏
- 2014-8-4阿里电话面试
- Gradle中文乱码???
- ios总结(多页面跳转:)
- android内存检测
- phalcon:跟踪sql语句
- HDU 1010 Tempter of the Bone
- 完全背包问题
- 字符串匹配算法总结
- redis 快速入门实战
- hdu 1027 康托展开求全排列
- kunter-generator
- Binary Tree Level Order Traversal II