Warning:本文章旨在进行技术性探讨,不作为爬虫手段获得付费版权资源来进行商业性的目的,如有侵权,纯属巧合。

用到的工具:Fiddler,格式工厂,HLS流媒体播放器

最近疫情期间,我哥要给他设计师徒弟们看一些国外的建筑设计作品找找灵感。可惜,国内不能直接访问,我哥问我从技术的角度能否抓取视频。作为一个android工程师,这个提议引起了我的兴趣。

话不多说,上个视频网站实现我们的思路。

这是国外一个视频网站,视频不提供下载。

我们在浏览器中按F12键打开控制台。如意料中的一样,找不到视频资源的相关信息。

这个时候我们上工具,Flidder网络抓包工具。

注意:关于Https网站抓包得到的全是如图443的错误,什么资源都抓不到。请卸载Flidder里的相关证书,并重新安装。

重新刷新网站,发现出现好多请求。

点击这些请求,发现返回的url地址。

很显然是通过转码的。我们拿着这些unicode地址转中文。就得到如下图:

可以找到和视频相关的播放信息,包括视频的id,播放时长等等。我有想着是否该视频的地址的由一些字段拼接的,然后播放的时候地址拼在一起,因为移动开发经常这么干,哈哈。然后我们并没有从j字段里找到什么规律。

接着看抓包的地址,突然发现一个以m3u8结尾的连接引起我的关注。

m3u8是什么?

M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码。"M3U" 和 "M3U8" 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。

知道HLS就知道这是个流媒体播放器能直接支持的格式了。我们如果能从视频网站中找到这个跟m3u8相关的请求,就可以拿到这个资源文件。

浏览器直接打开地址,果然将m3u8文件下载下来了。原以为下载完成就能拿到视频地址,然而事情没那么简单,以文本格式打开文件是这样的:

没有发现以http或者https开头的地址,却又再次发现m3u8地址结尾的信息。看来是嵌套了好几层,网站提供了2种清晰度的视频。将新的文件地址替换掉原域名的文件地址,又下载了一个m3u8的文件,打开是这样的:

这就一目了然了。ts格式就是视频的格式了。该网站将一个视频切割成了33个片段,我们要想完整的视频,就需要将每个视频下载下来,然后拼接。

话不多说,将文件地址在之前下载的m3u8的域名结尾替换掉就能下载下碎片视频。下载完成后,我们用到了格式工厂将视频依次拼接,大功告成。

从加密视频网站提取视频的实现相关推荐

  1. 阿里云搭建视频网站和视频服务的省钱方案

    在阿里云.腾讯云等云平台上搭建视频应用,包括搭建视频网站和视频APP,最大的费用是存储费用和流量费用. 如果视频量和访问量都很大,就需要经济的存储和流量方案,认真阅读本文档,将会给您节省大量费用. 一 ...

  2. Python使用pypcap扩展包,抓取视频网站的视频URL

    爬取视频网站的视频URL 前言 第一步.安装Python(2.7.13 64位) 第二步.安装Python的扩展包pypcapy==1.1.2 第三步.安装Python的扩展包dpkt(这个没什么特别 ...

  3. python网络爬虫_Python网络爬虫——爬取视频网站源视频!

    原标题:Python网络爬虫--爬取视频网站源视频! 学习前提 1.了解python基础语法 2.了解re.selenium.BeautifulSoup.os.requests等python第三方库 ...

  4. python爬虫实战-爬取视频网站下载视频至本地(selenium)

    #python爬虫实战-爬取视频网站下载视频至本地(selenium) import requests from lxml import etree import json from selenium ...

  5. 为什么视频网站的视频链接地址是blob

    自从HTML5提供了video标签,在网页中播放视频已经变成一个非常简单的事,只要一个video标签,src属性设置为视频的地址就完事了.由于src指向真实的视频网络地址,在早期一般网站资源文件不怎么 ...

  6. 为什么视频网站的视频链接地址是blob?

    自从HTML5提供了video标签,在网页中播放视频已经变成一个非常简单的事,只要一个video标签,src属性设置为视频的地址就完事了.由于src指向真实的视频网络地址,在早期一般网站资源文件不怎么 ...

  7. python合并ts视频_python爬取视频网站m3u8视频,下载.ts后缀文件,合并成整视频

    最近发现一些网站,可以解析各大视频网站的vip.仔细想了想,这也算是爬虫呀,爬的是视频数据. 首先选取一个视频网站,我选的是 影视大全 ,然后选择上映不久的电影 "一出好戏" . ...

  8. 云服务器网站不能够上传视频,网站的视频要存到云服务器上吗

    网站的视频要存到云服务器上吗 内容精选 换一换 云服务器怎么选?云服务购买选择的时候主要根据以下方面来确定:服务器区域.宽带.核心数.线路.处理器.业务应用场景等方面来综合考虑.对于个人或者中小企业来 ...

  9. Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能

    最近有个项目牵扯到上传视频,简直把我搞炸了.还么搞定,主要是当初设计有点小出入,心里一直不是坚持,所以,哎,还得努力撒! 下面是当时参考,睡觉,明天搞哎.http://www.cnblogs.com/ ...

最新文章

  1. Ubuntu 安装 ffmpeg
  2. 从数仓到数据中台,谈技术选型最优解
  3. 苹果发布会体现出的未来趋势
  4. python中split()进行多分割
  5. 如何分配和释放存储空间
  6. 【前端积累】点击切换显示内容
  7. 全面探索 FreeMarker 模版引擎的扩展性
  8. matlab 定义一个有自变量的方程_常微分方程:(第四章) 高阶微分方程
  9. 云服务器如何重新引导,重新启动server服务器
  10. 力扣——在排序数组中查找元素的第一个和最后一个位置
  11. Effective C# 原则22:用事件定义对外接口(译)
  12. Gradle里配置jetty实现静态资源的热部署
  13. android studio for android learning (十四) android的数据的存储sharedPreferences
  14. Windows10电脑重置后右键没有nvidia控制面板的问题
  15. AD15如何更新原理图库
  16. Google 安装印象笔记剪藏插件
  17. Linux Kubuntu 良心输入法
  18. 云服务器搭建个人站点-之-站点搭建
  19. java开发知识总结1
  20. Count,TPM,FPKM,CPM之间的格式转换——Count转TPM

热门文章

  1. Java、JSP酒店网上订房系统
  2. IDEA工具-在pannel自己独立下挂一个节点(非标准)
  3. 工作常用软件(整理)
  4. 机器人笔记psv中文_机器人笔记精英版
  5. 计算机考试随机出题,驾考宝典怎么随机出题 驾考宝典随机练习的教程
  6. 图解USB 3.0标准
  7. Android仿微信录音功能,自定义控件的设计技巧
  8. “打死都千万不要进外包”,我在阿里外包测试的两年...
  9. Emoji使commit产生双倍快乐
  10. 【FreeMarker】【模板文件FTL】模板表达式