博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python下载pps视频
阅读量:7186 次
发布时间:2019-06-29

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


思路

  • 视频播放地址提取

    直接解析一下原网页的源文件,利用正则就可以得到所有视频的播放地址,下面的代码以微信公共平台python教程的播放地址为例。

  • 视频链接提取

    这里利用了进行视频链接提取,按照API的格式填写相关参数就ok了

  • 视频下载并保存

    使用urllib.urlretrieve函数保存视频就可以了


源代码

源代码贴出来,大家相互学习一下。代码比较简单,是按照上面的思路一步步做的,这里就不详细解释了


#!/usr/bin/env python  # -*- coding: utf-8 -*-  import urllibimport reimport base64import os#下载微信-python教学视频主函数def down_weixin_python(url):    #获取一个页面下的所有视频播放链接    html = urllib.urlopen(url).read().decode('gbk').encode('utf-8')    pattern = re.compile(r'>
flv
') video_link = link_pattern.findall(page) print ("正在下载第" + str(i) + "个视频...") down_video(video_link, each_link[1]) i = i + 1#显示下载进度def Schedule(a, b, c): ''' a:已经下载的数据块 b:数据块的大小 c:远程文件的大小 ''' per = 100.0 * a * b / c if per > 100: per = 100 print '%.2f%%' % per#下载文件def down_video(video_url, file_name): path = unicode(file_name, 'utf-8') if os.path.exists(path): pass else: os.mkdir(path) file_name = unicode(file_name, 'utf-8') if len(video_url) > 1: j = 0 for each_link in video_url: save_name = path + '\\' + file_name + '-' + str(j) + '.f4v' if os.path.isfile(save_name): pass else: urllib.urlretrieve(each_link, save_name, Schedule) j = j + 1 else: save_name = path + '\\' + file_name + '.f4v' if os.path.isfile(save_name): pass else: urllib.urlretrieve(video_url[0], save_name, Schedule)url = ['http://v.pps.tv/11786793?page=1', 'http://v.pps.tv/11786793?page=2']for each_link in url: down_weixin_python(each_link)

个人原创,转载请注明出处!

转载于:https://www.cnblogs.com/Jack-Lee/p/3735345.html

你可能感兴趣的文章
easyui tabs页签显示在底部属性
查看>>
IIS7设置IP地址和域名限制
查看>>
Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 failed with exit code 1问题总结及解决方案...
查看>>
iOS,贝塞尔曲线(UIBezierPath)
查看>>
二维码生成类
查看>>
css 兼容性写法,CSS hack写法
查看>>
javascript新闻向上停顿1秒后继续滚动
查看>>
关于 IntelliJ IDEA 的Maven 版本修改
查看>>
1.OpenGLES——FBO方式的离屏渲染
查看>>
FIFO基础知识(转)
查看>>
js中页面加载完成后执行的几种方式及执行顺序
查看>>
H5 以及data-*应用和each用法
查看>>
web学习-XML基础
查看>>
Oracle SQL Lesson (5) - 使用组函数输出聚合数据
查看>>
centos 6.5安装docker报错(查看报错详细信息--推荐)
查看>>
neutron floatingip-delete
查看>>
【机器学习篇】--SVD从初始到应用
查看>>
VMware - Oracle Linux 7.3 无法返回虚拟磁盘UUID
查看>>
输入法那没有小键盘的图标解决方法
查看>>
JAVA反射机制
查看>>