python对于已知文件名进行pdf批量下载
来源:互联网 发布:期货程序化交易软件 编辑:程序博客网 时间:2024/05/02 02:22
因为某些原因要收集一系列pdf,于是就想用搜索引擎自动搜索文件名,然后根据返回页面pdf文件的检查,如果有相应的pdf,那么就下载第一个pdf链接,并在同时用readme文件来记录相应的下载情况,因为只是临时用用,本着性价比的原则程序写得不是很完善。
import osimport urllibimport re def cbk(a,b,c): per = 100.0 * a * b / c if per > 100: per = 100 print '%.2f%%' % perdef setdir(dirname): path="D:/down/newpdf/"+dirname if not os.path.exists(path): os.makedirs(path) os.chdir(path) os.getcwd() def downpdf(url,file): print url filename,msg=urllib.urlretrieve(url,file,cbk) def search(line): url='http://cn.bing.com/search?q='+line conn=urllib.urlopen(url) nn=conn.read() if len(nn)==292: return False else: reg='<cite>(.*?)</cite>' articles=re.compile(reg).findall(nn) if len(articles)==0: return False else: for url in articles: if url[-4:]=='.pdf': global sv sv.write(',full') link='' link=link.join(url.split('<strong>')) alink='' alink=alink.join(link.split('</strong>')) print alink if alink[0:4]!='http': alink='http://'+alink print alink downpdf(alink,line+'.pdf') return True global sv sv.write(',none') return Falsedef notExistFile(line): if os.path.exists(line+'.pdf'): global sv sv.write(',exist') return False else: return Truepath="D:/down/newpdf/"os.chdir(path)sv=open('readme.csv','wb')articleList=open(path+'vis2000.txt')for line in articleList: if line !='\n': if line[0]=='~': print 'setdir' setdir(line[1:-1]) sv.close() sv=open(line[1:-1]+' readme.csv','wb') continue else: print line line=line[:-1] sv.write(line) print "search "+line[:-1] if notExistFile(line): search(line) else : print 'exist' sv.write('\n') sv.close()
0 0
- python对于已知文件名进行pdf批量下载
- 用Python 爬虫批量下载PDF文档
- 用python爬虫批量下载pdf
- Python批量修改文件名
- python 批量修改文件名
- Python批量修改文件名
- python批量修改文件名
- python 批量文件名转换
- python批量修改文件名
- Python批量更改文件名
- Python - 批量更改文件名
- python 批量修改文件名
- python批量修改文件名
- python批量修改文件名
- Python批量修改文件名
- Python批量修改文件名
- python批量修改文件名
- python批量修改文件名
- 自定义adapter时getView多次重复调用的问题
- poi设置一个Excel单元格的内容为多种样式的方法
- KEIL MDK 查看代码量、RAM使用情况--RO-data、RW-data、ZI-data的解释
- Android 4.0 Camera架构分析之Camera初始化
- nusoap与php5自带soap扩展会产生冲突
- python对于已知文件名进行pdf批量下载
- quick-cocos2d-x实现留言板
- cocosedx3.3 模态弹出框的实现
- ubuntu下jdk的安装
- Matlab plot绘图
- C++STL中vector容器类的简单操作
- 蓝牙ble app开发(三) -- 抓包
- MySQL事务隔离级别详解
- HDU 1142