吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5192|回复: 31
收起左侧

[Python 转载] 通过Python保存央视频某主题的视频地址[失效]

[复制链接]
ligxi 发表于 2020-6-20 15:38
本帖最后由 ligxi 于 2021-3-29 00:20 编辑

测试地址:https://v.cctv.com/
主要获取的是央视频分类下的视频区,某个主题下的视频地址并保存到文件中
image.png

m3u8的链接可以用播放器直接播放,比如Potplayer打开链接即可;
MP4视频有不同的分辨率,可以选择不同的分辨率进行下载和合并。

比如这个视频:https://v.cctv.com/2020/05/31/VI ... AJGE.ECW6gIhV6rsX.6

[Python] 纯文本查看 复制代码
import requests
import time
import hashlib
import re
import json

headers = {
    'User-Agent': 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1'
}

# 测试地址:
# cctv_url = 'https://v.cctv.com/2020/05/31/VIDELxZ6fRrVKzIh0cHiR8v3200531.shtml'
cctv_url = input('请输入视频地址:')
rs = requests.get(cctv_url, headers)
rs.encoding = 'utf-8'
html_data = rs.text
#
title = re.search('<title>(.*?)</title>', html_data).group(1)
print('主题:%s' % title)
# 解决平台特殊符号问题
new_title = title.replace('/', ' ').replace(':', ':').replace('*', ' ') \
    .replace('?', '?').replace('<', ' ').replace('>', ' ').replace('|', ' ').replace('\\', ' ')
#
rec = re.compile('var guid = "(.*?)";')
content = re.search(rec, html_data)
# 求出vc
guid = content.group(1)
vdn_tsp = str(int(time.time()))
vdn_vn = "2049"
vdn_vc = ""
staticCheck = "47899B86370B879139C08EA3B5E88267"
vdn_uid = ""
#
new_str = (vdn_tsp + vdn_vn + staticCheck + vdn_uid)
vc = hashlib.md5(new_str.encode(encoding='UTF-8')).hexdigest().upper()
# 接口
url_data = f'pid={guid}&tai=ipad&from=html5&tsp={vdn_tsp}&vn=2049&vc={vc}&uid=&wlan='
url = 'https://vdn.apps.cntv.cn/api/getIpadVideoInfo.do?%s' % url_data
res = requests.get(url=url, headers=headers)
print(res.status_code)
data = res.text

# 处理请求
start = data.find("'{")
end = data.find(";")
j_data = json.loads(data[start + 1:end - 1])
#
video = j_data['video']
# 保存到文件
with open('%s.txt' % new_title, 'w', encoding='utf-8') as ff:
    # m3u8地址
    ff.write('m3u8地址:\n')
    ff.write(j_data['hls_url'] + '\n\n')
    ff.write('MP4地址:\n')
    for value in video:
        vv = video[value]
        if type(vv) == list:
            for u in vv:
                video_url = u['url']
                print(video_url)
                ff.write(video_url + '\n')


测试效果:
image.png

总结:
总体来说不难,只需要模拟出请求的参数就基本能拿到和视频地址相关的数据了。

免费评分

参与人数 3吾爱币 +7 热心值 +3 收起 理由
苏紫方璇 + 5 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ymhld + 1 + 1 我很赞同!
Zeaf + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

学惭淹贯 发表于 2021-3-25 15:34
佚名RJ 发表于 2020-6-20 16:42
加密的并且可以播放的视频链接来一个,我试试哈

老兄,比如这个:https://tv.cctv.com/2021/03/20/VIDEcHt7rIgEd884Qk011jTm210320.shtml?spm=C28340.P10QUzIsypHP.EHrGib9urQ1j.4
用IDM下载的ts文件没法播放,一篇灰色,只有声音。抓取的m3u8链接,用m3u8下载器下载的mp4文件也是播放的时候是灰色,只有声音,没有图像。是视频加密的原因吗?
佚名RJ 发表于 2020-6-20 17:06
ligxi 发表于 2020-6-20 16:46
一时半会找不到好测试的,要不这个吧,新东方在线:
https://www.koolearn.com/product/c_34_45315.html ...

还真的可以,就是我的网络差,我就不下载全部了,
你看图吧,我给你证明一下,可以下载。
下载下来就是之前我给你第一次发图时的效果。
Screenshot_20200620_170332_com.leavjenn.m3u8downloader.png

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
ligxi + 1 + 1 用心讨论,共获提升!

查看全部评分

hj170520 发表于 2020-6-20 15:50
Zeaf 发表于 2020-6-20 16:00
这是不是那个悬赏解决了。。。
当时m3u8怎么弄搞不明白
zpwz 发表于 2020-6-20 16:00
感谢分享
个人觉得:手机央视频--投屏+电脑DLNA(论坛作品),最好最清晰最流畅最稳定的看央视,卫视的方法
 楼主| ligxi 发表于 2020-6-20 16:02
zpwz 发表于 2020-6-20 16:00
感谢分享
个人觉得:手机央视频--投屏+电脑DLNA(论坛作品),最好最清晰最流畅最稳定的看央视,卫视的 ...

其实我不怎么看
KSPprince 发表于 2020-6-20 16:04
怎么不引用json,还用字符串的方式处理呢
佚名RJ 发表于 2020-6-20 16:05
这个不挺好保存的吗?超清无码1080p 只要是网页上的,能播放的视频,就没有我保存不下来的。
Screenshot_20200620_160359_com.leavjenn.m3u8downloader.png
 楼主| ligxi 发表于 2020-6-20 16:08
本帖最后由 ligxi 于 2020-6-20 16:10 编辑
佚名RJ 发表于 2020-6-20 16:05
这个不挺好保存的吗?只要是网页上的,能播放的视频,就没有我保存不下来的。

要是我把它写成批量呢?其实还是有很多视频保存不了的,比如培训的视频全是加密的,IDM有些网站受保存也下载不了,排除录屏!
求方法
 楼主| ligxi 发表于 2020-6-20 16:12
KSPprince 发表于 2020-6-20 16:04
怎么不引用json,还用字符串的方式处理呢

那是因为这个接口它返回的不是JSON,而是JS的字符串,而数据就藏在JS字符串中!!!不然早就用JSON解析了。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
ymhld + 1 + 1 我很赞同!

查看全部评分

佚名RJ 发表于 2020-6-20 16:42
ligxi 发表于 2020-6-20 16:08
要是我把它写成批量呢?其实还是有很多视频保存不了的,比如培训的视频全是加密的,IDM有些网站 ...

加密的并且可以播放的视频链接来一个,我试试哈
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 09:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表