python下载pps视频

简单的python下载脚本



思路


  • 视频播放地址提取

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


  • 视频链接提取

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


  • 视频下载并保存

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



源代码


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


```python

!/usr/bin/env python


-- coding: utf-8 --

import urllib import re import base64 import os

下载微信-python教学视频主函数

def downweixinpython(url): #获取一个页面下的所有视频播放链接 html =
urllib.urlopen(url).read().decode(‘gbk‘).encode(‘utf-8‘) pattern =
re.compile(r‘>?)"\stitle="(.?)"‘) down_link =
pattern.findall(html)

print ("本页面共有" + str(len(down_link)) + "个视频" )

i = 1
for each_link in down_link:
#获取每个视频的下载地址
api_prefix = each_link[0].replace(‘//‘,‘##‘)
api_prefix = base64.b64encode(api_prefix)
api_head = ‘http://api.flvxz.com/url/‘ + api_prefix + ‘/ftype/flv‘

#解析出视频的真实下载地址
page = urllib.urlopen(api_head).read()
link_pattern = re.compile(r‘<file><furl><!\[CDATA\[(.*?)\]\]></furl><ftype>flv</ftype>‘)
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 downvideo(videourl, filename): 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 eachlink in url: downweixinpython(eachlink)

```


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

python下载pps视频,布布扣,bubuko.com

时间: 2024-10-11 16:54:22

python下载pps视频的相关文章

教你下载ditto视频app中的好玩视频

教你下载ditto视频app中的好玩视频 1.ditto视频app 重点内容 2.首先是抓包获取app的视频地址 用charles 开启代理: 同一wifi下,手机设置电脑的代理ip: 然后就抓了,这么多抓包工具,随便你用什么工具了,windows可以用findler. 最后获取的数据接口为: http://ditto.short.tv/api/v1/videos http://ditto.short.tv/api/v1/sliders http://ditto.short.tv/api/v1/

使用youtube-dl下载YouTube视频

youtube-dl是一个使用python编写的脚本,可以下载热门视频网站的视频.在Linux系统下可以一健下载Youtube.Youku.Tudou等热门网站的视频,甚至是一些XXX站的视频下载,如YouPorn.XVideos等.下面介绍使用方法. 1.环境确认youtube-dl需要Python 2.6以上的版本.因此需要先确认安装的Python版本.默认CentOS6.x是安装了2.6.6.通过以下命令可以查看版本:python –version 若是CentOS5.x,则需要编译安装新

Python爬取视频指南

摘自:https://www.jianshu.com/p/9ca86becd86d 前言 前两天尔羽说让我爬一下菜鸟窝的教程视频,这次就跟大家来说说Python爬取视频的经验 正文 https://www.cniao5.com/ 菜鸟窝上有很多教程视频,但是这些视频好像没有直接的下载地址,而且有些教程视频还是有期限的,那么问题就产生了我看的速度比较慢而且视频又很多,没等我看完视频就到期了怎么办?这时候写一个爬虫将这些教程视频下载下来就很好地解决了这个问题 当然,对于某些视频网站的VIP电影.视频

星愿浏览器中下载YouTube视频

1.首先浏览器可以访问YouTube(方法就不介绍了) 2.我的IDM无法下载YouTube视频,可能是IDM选项-设置代理的问题(未解决),也可能是YouTube网站的限制. 3.对于只可以在浏览器观看YouTube视频有效 4.方法目前有三种: (1)使用星愿自带的视频下载工具,在播放视频时,在视频左侧有下载按钮,点击使用 (2)在视频下载网站上粘贴链接下载(视频和音频不能自动合并的不考虑) https://youtubeplaylist.cc/ (3)使用tampermonkey中的脚本下

Python下载Yahoo!Finance数据

Python下载Yahoo!Finance数据的三种工具: (1)yahoo-finance package. (2)ystockquote. (3)pandas.

自动下载快手视频

@echo off :: 自动下载快手视频 :: get kuaishou video _GKV :: _kslists.txt - https://www.kuaishou.com/live/user/xxx 支持多行 :: 从 _kslists.txt 文本中读取URL并自动下载该页面的所有视频 setlocal enabledelayedexpansion for /f "delims=" %%i in ('type _kslists.txt') do ( call :getAl

分享一个免费的在线Youtube视频在线下载网站(52Youtube.com),下载技术视频方便很多

分享一个 免费的在线Youtube视频在线下载网站,下载技术视频方便很多. 网址是 www.52youtube.com ,受限的Youtube视频也能下(年龄,地域限制等),比较不错. 

就为在YouTube上下载个视频

FQ+设置浏览器例外+Freecorder+YouTuBe下载视频 用Firefox 上youtube页面显示出错 http://blog.csdn.net/syf442/article/details/8961795 用代理上youtude的页面问题 http://www.firefox.net.cn/read-32116 如何下载youtube上面的视频? http://blogunion.org/posts/how-to-download-videos-on-youtube.html 最新

优酷电视剧爬虫代码实现一:下载解析视频网站页面(3)补充知识点:XPath无效怎么办?

XPath无效怎么办?明明XPath是通过定位子节点,copy xpath得到的,理论上是正确的 XPath无效怎么办?明明XPath是通过按F12定位符再copy XPath得到的,可是放在代码里就是不对呢? 前提:优酷电视剧爬虫代码实现一:下载解析视频网站页面(2)工作量已经完成.基于这个基础,进一步完善代码 1.新建页面解析接口. package com.dajiangtai.djt_spider.service; import com.dajiangtai.djt_spider.enti