利用selenium和ffmpeg爬取m3u8 ts视频《进击的巨人》
需求 想看下动漫《进击的巨人》,发现到处被和谐,找不到资源,但是在一个视频网站找到了在线播放, https://www.55cc.cc/dongman/17890/player-2-1.html ,然而不能下载下来(喜欢的东西我一般都看很多遍) 于是想爬虫爬取下,但是看源代码发现视频是m3u8的ts流,而且是双层m3u8的,并且m3u8地址还隐藏在js代码中,于是有2种处理方法: 1.直接requests源码,把js代码的部分逐字解析,找出m3u8地址。 2.直接调用浏览器渲染,将渲染后的网页代码拿到,就可以看到iframe标签中src地址了 获取到首层m3u8地址后就简单了,直接requests请求到第二层m3u8地址,这就是真实地址了,下载后可以看到是很多的ts流小文件,于是有2种处理方法了: 1.直接逐个获取ts地址,然而写到本地磁盘的同一个文件,最后转码到mp4(ts格式太占空间) 2.直接调用ffmpeg,能根据m3u8地址下载ts流并合并为一个文件且同步转码为mp4 上述均采用第二种方法,于是写出个简单的该网站的视频爬虫 源代码 from selenium import webdriver from bs4 import BeautifulSoup import re import requests import os if __name__ == '__main__'