32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
import requests
|
|
|
|
headers = {
|
|
'User-Agent': "Mozilla/5.0 (Windows NT 6.1; Win64; x64) "
|
|
"AppleWebKit/537.36 (KHTML, like Gecko) "
|
|
"Chrome/72.0.3626.109 Safari/537.36",
|
|
}
|
|
|
|
def read_m3u8(m3u8Url):
|
|
baseurl = '/'.join(m3u8Url.split('/')[:-1])
|
|
m3u8_res = requests.get(m3u8Url,headers)
|
|
if m3u8_res.status_code != 200:
|
|
print('URL不能正常访问', m3u8_res.status_code)
|
|
m3u8_content = m3u8_res.content.decode('utf8')
|
|
print(m3u8_content)
|
|
'''获取m3u8中的下载连接'''
|
|
media_url_list = []
|
|
lines_list = m3u8_content.strip().split('\r\n')
|
|
if len(lines_list) < 3:
|
|
lines_list = m3u8_content.strip().split('\n')
|
|
if '#EXTM3U' not in m3u8_content:
|
|
raise BaseException('非M3U8连接')
|
|
for index,line in enumerate(lines_list):
|
|
# print(index,line)
|
|
if '#EXTINF' in line:
|
|
media_url_list.append('%s/%s' %(baseurl,lines_list[index+1]))
|
|
return media_url_list
|
|
|
|
if __name__ == '__main__':
|
|
vfile = read_m3u8("http://pili-live-hdl.qhmywl.com/dsdtv/6d735caeaf70f8901aa00f86aefc4dde.m3u8")
|
|
print(vfile)
|