python 公众号付费视频地址_Python下载微信公众号文章内的视频

今天逛csdn社区的时候看到了关于使用python来获取微信公众号内容的文章,自己也抽出时间写了一个小例子,下面一起来看一下。

01目标公众号

公众号名称:某某电影

微信公众号

02实现思路

首先,获取微信公众号文章的链接地址,在浏览器中打开,同时打开调试台,可以看到代码中加载了一个iframe,找到iframe的链接地址,并打开它,在此我们就明白了,微信公众号的视频播放是通过嵌套模式加载的,将新链接继续在浏览器中打开,并打开调试台,查看network中的xhr接口,可以看到链接数据请求,分别是获取视频封面和视频信息的,都是get请求方式,接下来我们看一下获取视频信息的接口返回数据,如下图:

接口返回数据

接口中返回了一系列的数据,我们需要拿到数据中url地址参数和标题参数,url地址参数中有三个子集,分别为不同的视频参数地址,我们拿取第一个集合的数据,获取到视频的播放地址。进而通过播放地址去下载视频文件。

03示例代码

1、开始代码

if__name__=='__main__':print("微信公众号文章内视频下载~~~~~~~~")path=main()ifnotpath:path=main()# 解析链接analysis(path)

这段代码主要是描述产品及获取微信公众号文章链接,同时对链接参数进行判断,如果没有参数进行重复获取,直至参数获取成功。

2、文章地址获取

# 文章地址获取defmain():path_url=input("请输入链接地址:")ifnotpath_url:print("请在下方输入链接地址")path_url=input("地址:")returnpath_url

上面的代码使用了python中的input,进行获取地址参数。

3、使用扩展类

importrequestsimportjsonfrombs4importBeautifulSoupfromurllibimportparseimportos

主要是请求、代码解析、链接参数解析、数据格式转换、文件操作类库

4、视频地址解析

此处代码较长,以图片形式进行展示,如有需要可以在下方进行评论,获取完整代码。

示例代码一

上面的代码中我们首先对链接做了判断,判断是否能够进行打开,使用requests进行请求链接,如果状态码不是200,直接进行提示。

继续通过链接地址,获取页面的代码部分,然后通过抓取到iframe,并通过get方式获取到“data-src”的链接参数。下面对链接中的参数进行获取,主要获取参数为vid,应该就是数据库中存储的视频ID吧!(猜测的)

大家可能会问为什么要获取个vid,因为我们在视频真实地址获取中需要用到,最后我们得到一个如下参数值:

wxv_1155920308990312448

示例代码二

下面我们使用vid参数值进行拼接真实的播放地址,通过模拟请求头参数等进行请求链接地址,对返回的参数做解析,最后得到视频的真实地址。

5、视频下载

注:此段代码来源于网络

下载代码

通过视频的真实播放地址,我们可以很轻松的将视频进行下载,不管是通过代码的方式还是通过其他工具的形式,为了减少操作,我们直接通过代码的形式对链接的视频文件进行下载操作,并将文件保存在目录中,经过测试下载速度挺快的,下载完成的视频能够正常的播放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值