如何用Python批量爬取m3u8地址
时间: 2024-09-21 11:09:54 浏览: 125
在Python中,可以使用第三方库如`pytube`或`streamlink`来批量抓取M3U8格式的视频流地址,但需要注意的是,直接抓取可能会触犯网站的robots.txt协议,或者涉及版权问题,因此在实际操作前请确保你有权这样做,并遵守相关法律法规。
以下是使用`streamlink`库的一个基本示例,这个库能够处理HLS(包含M3U8文件)流:
```python
import os
from streamlink import Streamlink
# 输入需要爬取的URL列表
url_list = ["http://example.com/video.m3u8", "http://another.example.com/video2.m3u8"]
def fetch_m3u8(url):
# 创建Streamlink对象并尝试获取M3U8信息
try:
link = Streamlink.from_url(url)
playlists = link.playlists() # 获取所有的播放列表
for playlist in playlists:
print(f"{playlist.url}\n") # 打印每个M3U8地址
except Exception as e:
print(f"Failed to fetch M3U8 from {url}: {e}")
# 遍历URL列表并爬取
for url in url_list:
fetch_m3u8(url)
# 如果你需要保存这些地址,可以在fetch_m3u8函数中加入写入文件的操作
# 例如,假设你想将地址写入到一个名为"urls.txt"的文件中
# with open("urls.txt", "a") as file:
# for playlist in playlists:
# file.write(playlist.url + "\n")
阅读全文