批量下载51voa的文本和MP3,51voa文本mp3,test.py 文件 测
批量下载51voa的文本和MP3,51voa文本mp3,test.py 文件 测
test.py 文件 测试用
! /usr/bin/env python
from Myvoa import *
temp=Myvoa()
temp.geturls()
temp.dlurls()
Myvoa.py文件 主要为Myvoa class#! /usr/bin/env pythonimport osimport sysimport urllib.request as reqclass Myvoa: ''' download texts and mp3 of <a href="http://www.51voa.com">http://www.51voa.com ''' def __init__(self): self.basicurl="<a href="http://www.51voa.com">http://www.51voa.com" self.basicdir=os.curdir self.urls=[] def savefile(self,name,url=-1,data=-1): path=os.curdir name=name.replace(os.sep,'') target=path+os.sep+name print(target) if os.path.isfile(target): pass else: if url!=-1: fp=open(path+os.sep+name,'wb') try: res=req.urlopen(url) fp.write(res.read()) finally: fp.close() elif data!=-1: fp=open(path+os.sep+name,'w') try: print(len(data)) data=data.replace(r"\\n",'') data=data.replace("<br />",'\\n') linestart='<p>' lineend='</p>' i=data.find(linestart) temp=[] while(i!=-1): j=data.find(lineend) temp=data[i+3:j] fp.write(temp+'\\n') data=data[j+4:] i=data.find(linestart) finally: fp.close() def dlvoa(self,url): res=req.urlopen(url) data=res.read() res.close() startag='''<div id="title">''' endtag='''<div id="Bottom_VOA">''' data=str(data) data2=data[data.find(startag)+16:data.find(endtag)] title=data2[:data2.find("</div>")] mp3url=self.basicurl+data2[data2.find('''<a href="''')+9:data2.find('''.mp3">''')+4] self.savefile(title+'.mp3',url=mp3url) self.savefile(title+'.txt',data=data2) def geturls(self): exurl="/VOA_Standard_English" res=req.urlopen(self.basicurl+exurl) data=res.read() res.close() startag='''<ul><li>''' endtag='''</li></ul>''' data=str(data) data=data[data.find(startag)+8:data.find(endtag)] linestart='<a href=' lineend='target=' i=data.find(linestart) while(i!=-1): j=data.find(lineend) self.urls=self.urls+[self.basicurl+data[i+9:j-2]] data=data[j+5:] i=data.find(linestart) def dlurls(self): if self.urls==[]: self.geturls() list(map(self.dlvoa,self.urls))#该片段来自于http://byrx.net
相关内容
- python对机器的网页服务器进行拒绝服务攻击,python拒绝
- 简易银行ATM存取款系统,atm存取款,ID = 999PASS
- python 视频下载,python,将视频网站的视频从chr
- ip地址转换成整数,ip地址整数,#!/bin/env p
- linux系统下启用或禁用笔记本电脑触摸板(需要安装x
- xport CkByteData to Python Byte Array,xportckbytedata,import chilk
- Python anydbm模块,pythonanydbm模块,import anydb
- python 友情链接检查,python友情链接,# _*_ coding
- 随机产生迷宫,产生迷宫,Python语言: 随机
- 用Python开发MySQL Workbench的插件:自动创建外键,python
评论关闭