我正在尝试从给定的网站 URL 查找并下载 m3u8 文件。我该怎么做?我查看了页面源代码,但找不到任何指向任何 m3u8 文件的链接,尽管我可以看到正在发送网络 GET 请求以在 Chrome 的开发工具网络选项卡中下载 m3u8 文件。
所以有人知道如何从给定的网站 URL 检测链接到 m3u8 文件的 URL 以及如何下载它吗?
最佳答案
.m3u8
和 .mpd
链接是特殊元素,不是 HTML 的一部分。
您可以在网络请求中找到它们,通常它们会在您点击视频上的播放按钮后出现。它们用于分段流式传输内容,而不是让您访问视频文件。
这是我使用 Selenium 一段时间来检索它们的片段。它不适用于 100% 的情况,但它仍然适用于许多网站:
JS_get_network_requests = "var performance = window.performance || window.msPerformance || window.webkitPerformance || {}; var network = performance.getEntries() || {}; return network;"
network_requests = driver.execute_script(JS_get_network_requests)
for n in network_requests:
if ".m3u8" in n["name"]:
print(n["name"])
附言如果视频嵌入在 iframe 中,则必须切换到 iframe 才能从视频中获取网络请求。
关于python - 如何从 URL 中找到 .m3u8 文件并下载它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61713238/