【问题标题】:Download m3u8 from URL using Python使用 Python 从 URL 下载 m3u8
【发布时间】:2021-01-14 05:44:33
【问题描述】:

我开始学习使用 Python 进行网页抓取。目前,我想下载日本饮食的视频。 (https://www.shugiintv.go.jp/jp/index.php?ex=VL&deli_id=40124&media_type=)

视频似乎有一种机制,从playlist.m3u8调用chunklist.m3u8,然后依次调用chunklist.m3u8中描述的ts文件。

我想先从playlist.m3u8 URL下载内容,然后调用chunklist.m3u8依次下载ts文件并concat。

但是,我尝试下载 Playlist.m3u8,但它没有生成我期望的文本。

另外,playlist.m3u8 的示例网址在这里↓

http://hlsvod.shugiintv.go.jp/vod/_definst_/amlst:2011/2011-1207-0900-12/playlist.m3u8

代码:

import requests

url = "http://hlsvod.shugiintv.go.jp/vod/_definst_/amlst:2011/2011-1207-0900-12/playlist.m3u8"
res = requests.get(url)
print(res.text)

例外文字:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=564000,NAME="500k",RESOLUTION=640x360
chunklist_w60346572_b564000_t64NTAwaw==.m3u8

实际文字:

<html><head><title>Wowza Streaming Engine 4 Perpetual Bundle Unlimited Edition 4.7.7 build20181108145350</title></head><body>Wowza Streaming Engine 4 Perpetual Bundle Unlimited Edition 4.7.7 build20181108145350</body></html>

我认为网址中的冒号有问题,但我没有明确的解决方案。我想知道如何避免 URL 问题并成功下载 playlist.m3u8 中的文本。谢谢。

版本:

Python 3.7.9

请求 2.25.1

【问题讨论】:

    标签: python web-scraping python-requests m3u8


    【解决方案1】:

    你的网址有问题:

    >>> url = "http://hlsvod.shugiintv.go.jp/vod/_definst_/amlst:2011/2011-1207-0900-12/playlist.m3u8"
    >>> res = requests.get(url)
    >>> res.request.url
    'https://hlsvod.shugiintv.go.jp/vod/_definst_/amlst:2011/2011-1207-0900-12/playlist.m3u8%20'
    

    到底看到“%20”了吗?

    我不太确定你是怎么弄错的,但是复制粘贴应该可以:

    url = 'https://hlsvod.shugiintv.go.jp/vod/_definst_/amlst:2011/2011-1207-0900-12/playlist.m3u8'
    

    【讨论】:

    • 哦,谢谢!我担心我的错误,但你的回答似乎解决了它。科隆似乎无关紧要。我会单独调查为什么我犯了错误。非常感谢!!!
    猜你喜欢
    • 2020-08-26
    • 2022-11-04
    • 2022-07-01
    • 2021-10-20
    • 2021-10-22
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 2022-07-23
    相关资源
    最近更新 更多