吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 12545|回复: 95
收起左侧

[Web逆向] 还是视频分析,央视《动物世界》的视频

    [复制链接]
seeyou_shj 发表于 2021-3-25 10:39
感觉发这样的帖子增加不了多少分啊。今天还是无聊,先发这吧。为什么不发软件破解,原因是自己没研究这一块,为啥呢?毕竟自己也偶尔做点软件开发,感觉费了很大力气,别人缺很简单就破解了,免费版随后就更新,真的很无聊。自己的努力得不到任何回报,也就不想继续这样努力开发程序了吧。

这次还是解析视频,用到的工具是python,浏览器。因为最近觉得动物世界很有意思,所以找了一个央视的官网,免费的。网址:
https://tv.cctv.com/cctv1/?spm=C52056131267.PAgOvvq0dRfD.0.0
可以看电视,我比较喜欢看看大自然的东西,所以就选择了《动物世界》,可以回看。

今天分析的网址是:https://tv.cctv.com/lm/dwsj/?spm=C52056131267.PAgOvvq0dRfD.0.0
直接打开网址,F12获得视频网址:

1.png

恩,不错。有很多视频。这样一个一个找太费劲,看看网页是怎么获取数据的:

1.png

这个数据有些可疑,试一下:

>>> url = "https://api.cntv.cn/NewVideo/getVideoListByColumn?id=TOPC1451378967257534&serviceId=tvcctv&mode=0&n=20&p=1&t=jsonp&cb=setItemByidELMTGwEXpUuBn9MYpWasvymv160224"
>>> msg = requests.get(url,headers=headers,timeout=20)
>>> msg.encoding = chardet.detect(msg.content)['encoding']
>>> m = msg.text
>>> m[:200]
'setItemByidELMTGwEXpUuBn9MYpWasvymv160224({"data":{"total":1000,"list":[{"guid":"4b1fe761763b4d1dbef89c8aa8f40922","id":"VIDEMzNCMJ6a719xvMsMRT2j210325","time":"2021-03-25 00:37:00","title":"\\u300a\\u5'

看看抓到了什么?

>>> exec("msg="+m[m.find("({"):m.rfind("})")+2])
>>> url = msg['data']['list'][0]['url'].replace("\\","")
>>> url
'https://tv.cctv.com/2021/03/25/VIDEMzNCMJ6a719xvMsMRT2j210325.shtml'
>>> msg['data']['list'][0]['title']
'《动物世界》 20210325 树洞与“房客”(下)'

似乎是视频详细信息?地址都有,没错,就是它了。浏览器打开看看,确定无疑。继续抓包:

>>> msg = requests.get(url,headers=headers,timeout=20)
>>> msg.encoding = chardet.detect(msg.content)["encoding"]
>>> m = msg.text

网页搜索,看看具体视频网址怎么查找?

>>> url = "https://tv.cctv.com/2021/03/25/VIDEMzNCMJ6a719xvMsMRT2j210325.shtml"
>>> msg = requests.get(url,headers=headers,timeout=20)
>>> msg.encoding = chardet.detect(msg.content)['encoding']
>>> m = msg.text
ok,现在数据抓到了,开始分析。还是之前的套路,浏览器F12打开开发者工具,直接搜索:
1.png

还是没有具体信息,预料之中。继续通过浏览器获取到的数据分析:

2.png

看到有main.m3u8文件,还是去搜一下看看能不能找到:

>>> m.find("main.m3u8")
-1

果然没有。突然发现上面有一行“getHttpVideoInfo.do……”字样的链接,难道是这个?试试看:

>>> url = "https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid=4b1fe761763b4d1dbef89c8aa8f40922"
>>> msg = requests.get(url,headers=headers,timeout=20)
Traceback (most recent call last):
  File "C:\Users\shenhj.lyxs\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connection.py", line 159, in _new_conn
………………
嗯,出错了,看来时截取的地址有问题。重新截取:

>>> url = "https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid=4b1fe761763b4d1dbef89c8aa8f40922&client=flash&im=0"
>>> msg = requests.get(url,headers=headers,timeout=20)

没问题。好,看看抓到了什么信息?

>>> f=open("d:/temp/test.txt","w")
>>> f.write(m)
12845
>>> f.close()

打开文件,类似这样的内容:

{"ack":"yes","status":"001","tag":"动物世界 猫头鹰 山雀 啄木鸟 阿尔卑斯山","title":"《动物世界》 20210325 树洞与“房客”(下)","play_channel":"CCTV-1高清","produce":"","editer_name":"linshuxiang","produce_id":"wxsb01","column":"动物世界高清","f_pgmtime":"2021-03-25 02:18:15","cdn_info":{"cdn_vip":"vod.cntv.lxdns.com","cdn_code":"VOD-MP4-CDN-CNC","cdn_name":"3rd网宿"},"video":{"totalLength":"1789.08","chapters":[{"duration":"300.00","image":"https://p5.img.cctvpic.com/fmspic/2021/03/25/4b1fe761763b4d1dbef89c8aa8f40922-1.jpg","url":"https://vod.cntv.lxdns.com/flash/mp4video63/TMS/2021/03/25/4b1fe761763b4d1dbef89c8aa8f40922_h264418000nero_aac32-1.mp4"},{"duration":"300.00","image":"https://p5.img.cctvpic.com/fmspic/2021/03/25/4b1fe761763b4d1dbef89c8aa8f40922-1.jpg","url":"https://vod.cntv.lxdns.com/flash/mp4video63/TMS/2021/03/25/4b1fe761763b4d1dbef89c8aa8f40922_h264418000nero_aac32-2.mp4"},
………………

看起来是json数据。里面的内容很简单明了,url后面的内容就是一段段的视频了。浏览器打开看看,确认了。全部下载,然后用ffmpeg合并成一个完整的,ok,视频获取完成。(如何合并,参见我前面的分析。)

写作不易,免费评分来点呗?

免费评分

参与人数 56吾爱币 +51 热心值 +48 收起 理由
chenerndong + 1 + 1 热心回复!
fhy129 + 1 热心回复!
nieaipojie + 1 + 1 我很赞同!
Beebeeking + 1 + 1 用心讨论,共获提升!
yzxrcw + 1 + 1 我很赞同!
lpgary + 1 + 1 谢谢@Thanks!
miaoj29 + 1 谢谢@Thanks!
yuan2021 + 1 + 1 我很赞同!
奥力给力奥 + 1 好教程,PS、央视网可以用硕鼠直接获取下载
wth0538 + 1 + 1 发现一个方法,以 榜样5 为例,猫爪抓到的链接是https://dh5.cntv.qcloudcd.
风尘奇侠 + 1 + 1 用心讨论,共获提升!
少飞小贼 + 1 热心回复!
Black_山猫 + 1 我很赞同!
orangtan + 1 我很赞同!
Goldrepo + 1 谢谢@Thanks!
python初学者 + 1 + 1 我很赞同!
YiShuan + 1 + 1 用心讨论,共获提升!
亡我幽月 + 1 + 1 我很赞同!
jieinlove + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
aaa128 + 1 + 1 我很赞同!
ztw138 + 1 热心回复!
subney + 1 + 1 谢谢@Thanks!
W小姐W先生 + 1 + 1 热心回复!
ccchpig + 1 + 1 支持楼主
pdcba + 1 谢谢@Thanks!
zhoushengzhi + 1 + 1 我很赞同!
pwzx + 1 + 1 谢谢@Thanks!
zzdzxx + 1 谢谢@Thanks!
陈世界 + 1 + 1 我很赞同!
poiiop + 1 谢谢@Thanks!
xiuji + 1 + 1 谢谢@Thanks!
植元枫 + 1 + 1 我很赞同!
卫艾一生 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
moomoo + 1 热心回复!
sornian + 1 这不是科教频道的嘛
yellowgreen + 1 + 1 用心讨论,共获提升!
爱你小吉君 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
softdust + 1 + 1 我很赞同!
wangwhua + 1 + 1 用心讨论,共获提升!
秩序的风达 + 1 + 1 我很赞同!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
mengdaye + 1 + 1 我很赞同!
caleb110 + 1 + 1 谢谢@Thanks!
zq769427 + 1 + 1 热心回复!
forezy + 1 + 1 我很赞同!
rjlly + 1 我很赞同!
nankesama + 1 + 1 我很赞同!
xdxf2000 + 1 + 1 热心回复!
HSSHSG + 1 + 1 我很赞同!
goldengod + 1 热心回复!
xugua + 1 + 1 凑凑热闹,提高Python学习积极性
dragon狙 + 1 用心讨论,共获提升!
不枞 + 1 我很赞同!
訫龍訫龍 + 1 热心回复!
上官苏辰 + 1 + 1 有意思!
ccshm1977 + 1 + 1 谢谢@Thanks!

查看全部评分

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

wth0538 发表于 2021-3-29 19:08
发现一个方法,以 榜样5 为例,猫爪抓到的链接是https://dh5.cntv.qcloudcdn.com/asp/h5e/hls/2000/0303000a/3/default/869cf3827eaf492eac586704943c4d93/2000.m3u8
把h5e/去掉
https://dh5.cntv.qcloudcdn.com/asp/hls/2000/0303000a/3/default/869cf3827eaf492eac586704943c4d93/2000.m3u8
用逍遥一游的m3u8下载器直接下载即可
 楼主| seeyou_shj 发表于 2021-3-30 08:26
wth0538 发表于 2021-3-29 19:08
发现一个方法,以 榜样5 为例,猫爪抓到的链接是https://dh5.cntv.qcloudcdn.com/asp/h5e/hls/2000/0303000 ...

其实单个文件的抓取很简单,关键是程序化的批量抓取技术。仔细分析一下过程就可以实现程序化了,这才是我想要说的
红蓝黄 发表于 2021-3-25 10:43
木然狮子 发表于 2021-3-25 10:48
不错不错,一步步很详细
波多野结炜 发表于 2021-3-25 10:48
挺牛逼的~
光咣咣咣丶 发表于 2021-3-25 10:52
感谢分享,很牛逼
Fxhlt 发表于 2021-3-25 10:54
这个可以有 厉害
Email 发表于 2021-3-25 10:55
感谢分享
luxiafeng 发表于 2021-3-25 10:56
这个可以,收下了,谢谢
wanglaihuai 发表于 2021-3-25 10:59
本帖最后由 wanglaihuai 于 2021-3-25 11:54 编辑

javascript存个书签,配合yformater插件,香到起飞!
详见:https://www.52pojie.cn/thread-1401540-1-1.html
huqfox 发表于 2021-3-25 11:01
学习了,这个思路下次用上了,感谢!!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-23 23:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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