爬取带key的ts视频网站

news/2024/5/10 7:43:36/文章来源:https://blog.csdn.net/qq_36016668/article/details/115698744

朋友在某网站学习,每次都要打开网页,想保存在本地播放,却没有下载方式。于是找我试试能不能下载下来。
1.分析一下网页,打开,按下F12,获取相关信息。
2.视频信息一般保存在m3u8文件中,因此直接搜索查找。
在这里插入图片描述
3.观察m3u8文件发现,ts文件为aes-128加密,key的获取方法就是直接从url获取。
4.从文件中提取出来url信息后,获取key值,将key转换为十六进制,尝试解密,发现成功。那么此种方法可行,只需要将m3u8中的ts链接获取,根据秘钥一个一个解密就可以了。
5.ts文件爬取完成后,在dos窗口使用命令行直接将文件合并就可以了。
copy /b *.ts videos.mp4

6.完整代码

# -*- coding: utf-8 -*-
"""
Time    : 2021-04-02 13:53
Name    : 茅十八
File    : spider_shipin.py
Topic   : 爬取中国会计网视频
"""
import requests
import re
import json
import base64
from Crypto.Cipher import AESclass Kuai_ji(object):def __init__(self):self.header = {'Host': 'elearning.chinaacc.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8','Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2','Accept-Encoding': 'gzip, deflate, br','Referer': 'https://member.chinaacc.com/','Connection': 'keep-alive','Cookie': 'hd_uid=CjsAJWBj98UjEPREAzzTAg==; clct_nuID=16171642301299115; bdp_uuid=25a70cc998-1ceae87102-e8be58078c; zg_did=%7B%22did%22%3A%20%22178867fdea4119-0154b88d38575c-4c3f237d-144000-178867fdea523d%22%7D; zg_9b4551cf447148b0845f31f91e8a524d=%7B%22sid%22%3A%201618188966620%2C%22updated%22%3A%201618189325497%2C%22info%22%3A%201617860882274%2C%22superProperty%22%3A%20%22%7B%7D%22%2C%22platform%22%3A%20%22%7B%7D%22%2C%22utm%22%3A%20%22%7B%7D%22%2C%22referrerDomain%22%3A%20%22%22%2C%22cuid%22%3A%20%2282819233%22%7D; Hm_lvt_f1ca44b62370e4b7dc11d5937e51c2d6=1617929078,1617929186,1617955478,1618188971; _pk_id.member.chinaacc.com.e1fb=1cf2a9176d4ec1af.1617348690.1.1617348690.1617348690.; lastloginuser=m7677_41968; SelCourse=a|; _pk_id.www.chinaacc.com.e1fb=0be54a9159621948.1617929192.3.1618189311.1618189311.; _pk_ref.www.chinaacc.com.e1fb=%5B%22%22%2C%22%22%2C1618189311%2C%22https%3A%2F%2Fwww.chinaacc.com%2F%22%5D; _pk_id.www.chinaacc.com.eab1=2f935fa43caa4d22.1617929210.3.1618189325.1618189317.; _pk_ref.www.chinaacc.com.eab1=%5B%22%22%2C%22%22%2C1618189317%2C%22https%3A%2F%2Fwww.chinaacc.com%2F%22%5D; zg_ffaecff2118841b9866c8c549ea3c5a9=%7B%22sid%22%3A%201617958599807%2C%22updated%22%3A%201617960522067%2C%22info%22%3A%201617929338497%2C%22superProperty%22%3A%20%22%7B%7D%22%2C%22platform%22%3A%20%22%7B%7D%22%2C%22utm%22%3A%20%22%7B%7D%22%2C%22referrerDomain%22%3A%20%22elearning.chinaacc.com%22%7D; trackerSdkVisitor_isNew=true; trackerSdkData={%22uid%22:%2281263452%22%2C%22platform_source%22:%22web%22%2C%22time%22:1618189325622%2C%22bdp_uuid%22:%2225a70cc998-1ceae87102-e8be58078c%22}; BIGipServermember.chinaacc.com=654392074.20480.0000; clientID=qJQvIBoumlK4DmXSbdByMvqZukMzCNGRuQHxZQDNXpBN8dzrqLDzUr99QJXCu3mladZpXkW9DwNR%0D%0A0gFt_OGTGbltFnm7o8c3MtWmo7jdFDY%0D%0A; client_ucToken=9F7D029DA3ADB8A8F60EBDE0D85B0312-6bab3e37de618bbc456b1a315b7ddfb1-01; Hm_lpvt_f1ca44b62370e4b7dc11d5937e51c2d6=1618189326; sid=e27f6440-c9bd-4a64-af08-1bcb7733c338; cdeluid=81263452; username=m7677_41968; JSESSIONID=5701254F6527C1F5E24B334186D48BE2; _pk_ses.www.chinaacc.com.e1fb=*; _pk_ses.www.chinaacc.com.eab1=*','Upgrade-Insecure-Requests': '1','Cache-Control': 'max-age=0',}self.url = "https://www.chinaacc.com/demo/h5/2/198/cware-39252/video-901.html"self.m3u8_url = self.getm3u8()def getm3u8(self):rous = requests.get(self.url, headers=self.header)data = re.findall(r"JSON.parse\('(.*)'\)", rous.text)[0].replace('\\', '')json_data = json.loads(data).get('videoPath')m3u8_url = 'https:' + json_datareturn m3u8_urldef get_data(self):print(self.m3u8_url)data = requests.get(self.m3u8_url).textaes_url = re.findall(r'#EXT-X-KEY:METHOD=AES-128,URI="(.*)"', data)[0]keys = requests.get(aes_url).textkey = base64.b64decode(keys)iv = '00000000000000000000000000000000'iv = bytes.fromhex(iv)ts_datas = re.findall(r'(/ssec.chinaacc.com/.*)\n', data)i = 0for ts_data in ts_datas:ts_url = 'http:/' + ts_dataprint(ts_url)ts_rous = requests.get(ts_url)file_path = str(i) + ".ts"to_file_path = 'videos\\' + str(i) + '.ts'with open(file_path, 'wb') as f:f.write(ts_rous.content)with open(file_path, 'rb') as f:cryptor = AES.new(key, AES.MODE_CBC, iv)  # 创建实例plain_data = cryptor.decrypt(f.read())  # 放入需要解密的东西with open(to_file_path, 'wb') as w:w.write(plain_data)i += 1def main():kuai_ji = Kuai_ji()kuai_ji.get_data()if __name__ == '__main__':main()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_861108.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google 联合一些社交网站来对抗 facebook

谷歌 (Google) 将与其它一些行业领先的社交网站联手,共同对抗互联网新贵Facebook。  谷歌将于周四推出一个通用标准集 ( OpenSocial ),允许软件开发者为谷歌旗下社交网站Orkut,以及LinkedIn、hi5、Friendster、Plaxo和Ning等其它社交网站…

CSDN 未来网站内容Tag架构猜想

大概是上周吧,写了一篇blog主观的分析了一下CSDN目前的内容架构,收到许多朋友好的意见和建议,在此首先对他们表示感谢。网络变化真的很快,现在的网站内容架构较2,3年前已经有翻天覆地的变化。很多人也提出了“如今的网…

seo优化:把百度放进数据库

seo优化:把百度放进数据库 有时候我想,能把百度的数据放进数据库,用广大程序员熟悉的sql语句查询百度的搜索结果应该是一个不错的主意。在这方面Google早已经跨出了一大步,利用Google Search API 把Google的搜索结果放进数据库是很容易办到得…

在Google Drive上建立免费静态网站

现今建立一个属于自己的网站已经是一件很普遍和简单的事情了。你可以选择买空间,买域名,你也可以使用免费空间,免费域名。你可以选择动态的php wordpress,joomla或者是静态的网站(如使用jekyll or octopress部署到github上&#x…

实际采用 FleaPHP 的网站

下面都是采用 FleaPHP 框架开发的网站列表,如果发现无效连接请在留言。 如果你有采用 FleaPHP 开发的网站,并且愿意公开网址,可以发邮件到 dualface (at) gmail.com 需要提供的信息包括网站名称和连接地址,以及简单的介绍文字。 云…

网站字体渲染过程

前言 我们知道同一种字体在不同浏览器上的表现有可能是不同的,除了浏览器,还有哪些导致表现不同的因素呢?不同系统下字形的渲染也是不一样的,根本原因是什么呢?我们希望各浏览器下字体排版一致,实现的话有完…

ASP.NET 2.0网站专案同时使C#与VB.NET之技巧(新书连载)

ASP.NET 2.0网站专案同时使C#与VB.NET之技巧(新书连载) 你知道专案ASP.NET 2.0网站要如何同时使用C#与VB.NET两种语言及多组件的技巧吗? 节录自【圣殿祭司的ASP.NET 2.0专家技术手册】新书 在以往VS.NET 2002及VS.NET 2003的Visual Studio工具…

shell脚本实战之统计web网站不同连接状态个数

1 #!/bin/bash2 declare -A he //定义关联数组3 arraynetstat -antlp |grep 80|awk -F" " {print($6)} 定义索引变量4 for i in $array //取值5 do6 let he[$i] //让元素加一 7 done8 9 for j in ${!he[]} key[value] :key值可以…

借助HttpCombiner让你的网站加速

上一篇 < 利用Microsoft Ajax Minifier在服务器端对静态资源进行自动化压缩 > 得到不少有意义的交流和建议,最近也在不停的尝试做一些网站优化的工作,我会陆续的写一些或者翻译一些优化方面的文章跟大家交流,一方面提供给有需要的朋友一些参考,另一方面也希望得到高手们的…

从“奥运门票网站800万访问量”想到的成本、质量、进度、风险等关系

看到这个新闻后颇有一番滋味&#xff0c;更体验到我一直关注的软件性能着实无处不在&#xff0c;这个案例也确实值得我们好好反思一下。 不知道网友们有没有报名参加国际日语考试的——这个网站每年05年前都有人不能报名&#xff0c;因为报名人数太多&#xff0c;所以报名当日大…

Google 联合一些社交网站来对抗 facebook

谷歌 (Google) 将与其它一些行业领先的社交网站联手&#xff0c;共同对抗互联网新贵Facebook。  谷歌将于周四推出一个通用标准集 ( OpenSocial )&#xff0c;允许软件开发者为谷歌旗下社交网站Orkut&#xff0c;以及LinkedIn、hi5、Friendster、Plaxo和Ning等其它社交网站…

【Abp VNext】实战入门(十一):【1】基本操作 ——VS编译调试时 .NetCore Web网站Api如何在局域网电脑上访问

一、前言 最近使用 AbpVnext .NetCore 开发项目&#xff0c;网站启动后可以通过 http://localhost:44349 或者http:127.0.0.1:4349正常访问&#xff1b; 但是通过本机局域网IP http://192.168.1.101:44349 却无法访问&#xff0c;防火墙里面44349端口入栈规则也配置了&#x…

【Abp VNext】实战入门(十一):【3】基本操作 ——.NetCore Web网站Api发布部署及如何在局域网电脑上访问

文章目录 一、前言二、步骤1、VS2019编译发布项目&#xff1a;2、直接启动服务&#xff1a;默认地址端口访问3、带参启动服务&#xff1a;指定地址端口访问 三、总结 一、前言 上一章讲解了在VS编译调试的时候如何通过局域网访问.netcore 网站API服务&#xff1b; 这一章主要…

【Abp VNext】实战入门(七):【2】xxx.Web网站层 —— API接口异常全局捕捉,返回简化错误信息

这里写自定义目录标题 一、前言二、解决方案1、解决方案1&#xff1a;2、解决方案2&#xff1a; 三、总结 一、前言 今天突然发现一个问题&#xff0c;xxx.Application应用层中的方法&#xff0c;如果直接抛出异常&#xff08;如&#xff1a;throw new Exception(“手动抛出异…

【流媒体服务】Web网站服务搭建(四):【1】下载安装Nginx网站服务

文章目录 前言一、Nginx是什么&#xff1f;二、安装步骤1、下载Nginx2、解压缩Nginx3、配置Nginx 三、启动预览Nginx网站服务1、启动网站服务2、浏览器预览网站3、如何增加个人网页 四、总结 前言 上2章节讲解了本地视频推流拉流服务VLC以及推流转码服务FFMPEG。 为了实现在网…

Red Hat推出”MugShot”社交娱乐网站

网址: http://mugshot.org/ Red Hat近来推出”MugShot”网站, MugShot是一个致力于在线社交娱乐的开源项目. 它提供了更方便的网页和音乐分享. 当前MugShot处于测试阶段, 只提供邀请帐号. 你可以从这里申请. 更多信息见常见问题和开发主页. 欢迎任何问题和建议.

10个学习资源网站

1 mooc学院 MOOC学院的定位是讨论&#xff0c;点评和记录课程&#xff0c;MOOC学院不直接收录课程内容&#xff0c;只是专注于帮助学习者互相交流&#xff0c;发现课程。你可以在这里发现很多有意思的课程 2 学堂在线 学堂在线是基于互联网技术的新型学习平台&#xff0c;旨在…

WordPress主题可视化建站The7 V8.7

The7汉化版是一个非常漂亮的企业主题&#xff0c;功能非常强大&#xff0c;内置可视化编辑器&#xff0c;操作方便&#xff0c;支持layer和revsilder幻灯片&#xff0c;支持视网膜屏幕、支持自适应&#xff0c;所以流动元素都已集成。不管是企业门户或者个人网站、工作室都非常…

使用requests爬取实习僧网站数据

任务要求&#xff1a; 爬取实习僧网站的招聘公司信息和职位信息&#xff0c;并存储到数据库中&#xff0c;对应的数据库表和需要爬取的字段见下面表一和表二&#xff08;注意&#xff1a;爬取存在的字段&#xff09; 代码以上传带github上&#xff1a;使用requests爬取实习僧网…

程序员实用工具网站

程序员实用工具网站 本文链接&#xff1a; https://blog.csdn.net/m0_38106923/article/details/100130354 1、搜索引擎 2、PPT 3、图片操作 4、文件共享 5、应届生招聘 6、程序员面试题库 7、办公、开发软件 8、高清图片、视频素材网站 9、项目开源 10、算法 11、…