网站首页 > 精选文章 正文
当我们看到网页中的视频,想通过自己的技术下载时,你会通过哪些手段进行爬取下载?
分阶段去分析,然后采用不同的技术方案去下载
1、分析网页中的视频信息。
2、定位使用技术
1.分析网页中的视频信息(Network Tab)
这是最直接的方式,适用于你在浏览器中看到的视频流(例如,HLS、MP4、WebM 等):
步骤:
- 打开浏览器开发者工具:
- 在 Chrome、Firefox 或 Edge 等浏览器中,按 F12 或右键点击页面并选择 检查(Inspect)。
- 切换到 Network 标签:
- 在开发者工具的界面中,选择 Network(网络)标签。
- 过滤视频流:
- 重新加载页面并开始播放视频。
- 在 Network 标签下,你可以看到所有通过网络请求的视频资源,通常是 .mp4、.webm 或 .m3u8 文件。
- 你可以通过文件类型过滤,点击 Media 或 XHR,也可以通过文件后缀(如 .mp4 或 .m3u8)筛选。
- 获取视频的 URL:
- 找到视频流(如 .mp4 或 .m3u8 链接),右键点击该资源,然后选择 Copy -> Copy link address(复制链接地址)
网络请求的:
当你在浏览器的 Network 标签中看到 .ts 格式的文件时,通常是 HLS(HTTP Live Streaming) 流的一部分。.ts(Transport Stream)文件是视频流的切片,每个 .ts 文件包含视频的一个小片段,这些片段通常需要合并成一个完整的视频文件,才能进行播放或保存。
2、定位使用技术
想要下载并合并这些 .ts 文件,下面是一些常见的解决方法:
方法 1:使用ffmpeg合并.ts文件
- 收集 .ts 文件的 URLs
- 在浏览器的 Network 标签中,你会看到一系列的 .ts 文件,这些文件是分段的视频。你需要将所有的 .ts 文件链接收集起来。通常,它们会按顺序排列(例如 video1.ts, video2.ts 等),或者是一个 m3u8 播放列表(.m3u8 文件),该文件中列出了所有 .ts 文件的链接。
- 使用 ffmpeg 下载和合并视频流
- 如果你有完整的 .m3u8 链接(它指向 .ts 文件的播放列表),你可以直接用 ffmpeg 下载并合并这些 .ts 文件。
- ffmpeg -i "视频链接.m3u8" -c copy -bsf:a aac_adtstoasc output.mp4
这条命令会自动下载 .m3u8 文件中列出的所有 .ts 文件,并将它们合并为一个完整的 .mp4 文件。
- 如果没有 .m3u8 文件(只有 .ts 文件)
- 如果你只有 .ts 文件的 URL,那么你可以手动下载所有 .ts 文件,然后使用 ffmpeg 合并它们。
- 步骤:
- 下载所有 .ts 文件:你可以使用 wget 或 curl 下载所有 .ts 文件,确保按照正确的顺序。
- wget "ts文件URL1" wget "ts文件URL2" ...
- 使用 ffmpeg 合并这些 .ts 文件:
- 首先,创建一个 .txt 文件,列出所有 .ts 文件(每个文件名一行)。例如:
- file 'video1.ts' file 'video2.ts' file 'video3.ts'
- 然后使用 ffmpeg 合并这些 .ts 文件:
- ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4
- 这里 filelist.txt 是你列出 .ts 文件的文本文件,output.mp4 是最终合并后的完整视频文件。
方法 2:使用yt-dlp下载和合并流
yt-dlp 是一个开源的命令行工具,支持从许多视频平台下载视频,包括 HLS 流。如果你知道视频的 .m3u8 播放列表 URL,可以直接使用 yt-dlp 下载并合并这些 .ts 文件。
- 安装 yt-dlp
- pip install yt-dlp
- 使用 yt-dlp 下载视频
- yt-dlp "视频链接.m3u8"
- yt-dlp 会自动识别 .m3u8 播放列表中的 .ts 文件并将其下载并合并为一个完整的视频文件。
方法 3:手动下载.ts文件并合并
如果你没有 .m3u8 文件,只能看到一个个 .ts 文件链接,你可以手动下载并合并它们。
- 下载 .ts 文件 使用 wget 或 curl 等工具,下载所有 .ts 文件。你可以在浏览器中复制每个 .ts 文件的链接,也可以编写脚本来自动下载。
- wget -i ts_urls.txt
- 合并 .ts 文件 将下载的 .ts 文件合并成一个完整的视频文件。可以使用 ffmpeg 来完成这个任务:
- 首先,创建一个包含 .ts 文件名的 filelist.txt 文件,格式如下:
- file 'video1.ts' file 'video2.ts' file 'video3.ts'
- 然后使用 ffmpeg 合并它们:
- ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4
- 这将把所有 .ts 文件合并为一个完整的视频。
方法 4:使用JDownloader下载
如果你不想手动操作,JDownloader 是一个免费的下载管理器,它支持从许多流媒体网站抓取视频资源,并自动下载和合并 .ts 文件。
- 安装并启动 JDownloader。
- 复制包含 .m3u8 链接的网页 URL,JDownloader 会自动识别视频流并显示下载选项。如果地址是编码的,可以使用ai工具或者在线解码一下
- 选择视频质量和格式,然后开始下载。JDownloader 会自动下载 .ts 文件并将它们合并为一个视频文件。
- 上一篇: WEB中实现文件上传下载的三种解决方案(推荐)
- 下一篇: 不限速!一款免费全能的下载工具推荐
猜你喜欢
- 2025-05-08 jQuery文件下载方法及引入HTML语法
- 2025-05-08 python编程实践:下载文件模块wget的使用
- 2025-05-08 快速将网站从HTTP升级到HTTPS教程
- 2025-05-08 python原始套接字socket下载https网页文件到txt
- 2025-05-08 应用层协议HTTP和HTTPS,一篇文章学会
- 2025-05-08 百度网盘与360云盘哪个好(百度网盘与360网盘的区别)
- 2025-05-08 SPRINGBOOT 实现大文件上传下载、分片、断点续传教程
- 2025-05-08 SPRING BOOT实现文件上传和下载(spring boot 文件上传下载)
- 2025-05-08 YouTube应用下载全攻略:安卓、iOS及视频下载指南
- 2025-05-08 Burp Suite显示HTTP消息中的中文字符设置(附字体下载)
- 05-15OSPFv2和 OSPFv3 有哪些相同点和不同点?
- 05-15为什么IPv6不支持固定IP作为地址?
- 05-15网工必备:Ping命令的十个实用技巧
- 05-15单播以及多播的书写实验
- 05-15纯净安心+支持IPv6远程使用丨NAS部署Windows激活工具教程
- 05-15笔记09:IPv6地址配置方法三——DHCPv6有状态地址自动配置
- 05-15手把手教你DHCPv6实验
- 05-15小学生钓鱼网站渗透实战
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)