下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
#enCoding:utf8import urllib2import urllibimport reimport sysimport osimport timedef Schedule(a,b,c): per = 100.0 * a * b / c if per > 100 : per = 100 sys.stdout.write(u"------进度:%.1f%%\r" % per) sys.stdout.flush() def createDir(): path = sys.path[0] new_path = os.path.join(path,'flv') if not os.path.isdir(new_path): os.mkdir(new_path) return new_path def getList(ID): url = "http://www.yinyuetai.com/insite/get-vIDeo-info?flex=true&vIDeoID=%d" % ID headers = { 'User-Agent':'Mozilla/5.0 (windows NT 6.3) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/39.0.2171.95 Safari/537.36','Accept':'text/HTML,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' } try: req = urllib2.Request(url,None,headers) res = urllib2.urlopen(req) HTML = res.read() reg = r"http://\w*?\.yinyuetai\.com/uploads/vIDeos/common/.*?(?=&br)" pattern=re.compile(reg) findList = re.findall(pattern,HTML) if len(findList) >= 3: return findList[2] else: return findList[0] except: print u"读取视频列表失败!" def download(ID,name): link = getList(ID) if link: name = name + '.flv' print u"下载:[%s]" % name local = createDir()+'/'+name try: urllib.urlretrIEve(link,local,Schedule) print u"------下载完成:[%s]\n" % name except: print u"下载失败!\n" #for url in urlList: #下载全部 #name = url.split('/')[-1].split('?')[0] #name = getFlvname(ID)+'-%d.flv' % i #print u"下载:[%s]" % name #local = createDir()+'/'+name #urllib.urlretrIEve(url,Schedule) #i += 1 #print u" 下载完成:[%s]" % name #print '' else: print u"没有发现视频!\n"def getFlvname(ID): headers = { 'User-Agent':'Mozilla/5.0 (windows NT 6.3) AppleWebKit/537.36 (KHTML,*/*;q=0.8' } timeout = 5 url = 'http://v.yinyuetai.com/vIDeo/%d' % ID request = urllib2.Request(url,headers) response = urllib2.urlopen(request,timeout) responseHTML = response.read() #print responseHTML pattern=re.compile(r"<h3\sclass=\"fl\sf18\">(.+)<\/h3>") findList = re.findall(pattern,responseHTML) try: return findList[0].decode('utf8') except: return Falsedef start(): while 1: ID = raw_input('ID:>') try: ID = int(ID) break except: pass name = getFlvname(ID) #读取mv名字 if name == False: #读取失败则输入 print u'获取MV名字失败!输入MV名字' name = raw_input(u'name:>') name = name.decode('gbk') #开始下载 print u"开始下载..." download(ID,name) start()if __name__ == '__main__': start()
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的音悦台 MV 下载 python 版本全部内容,希望文章能够帮你解决音悦台 MV 下载 python 版本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)