我有一个python脚本,它解析服务器上的m3u8文件的包含,然后下载流.ts文件。 整件作品如下:
files=get_streams() #a request to retrieve the insides of m3u8
for i in files:
stream_link = media_link+i
source_stream = requests.get(stream_link, stream=True)
with open(filename, 'wb') as recorded_file:
for chunk in source_stream.iter_content(chunk_size = 1024):
recorded_file.write(chunk)
media_link
变量是每个会话的临时地址(https://sitename/random/random/),因为m3u8中的.ts文件只有文件名(例如A1B2C3-2217493.ts)而不是完整路径。
m3u8文件的地址为media_link+m3u8_name
。
问题是我可以访问m3u8文件并解析它,但当我使用相同的链接下载ts文件时,服务器返回403.
m3u8被解析为普通文件,因此.ts文件名是使用.decode()
解码的字符串。
我做错了什么?有没有办法访问.ts文件?