Python m3u8文件提取的链接有效但get请求返回404
问题描述在网页爬取了一个m3u8文件,想将里面的.ts链接提取出来,输出的.ts链接鼠标点击可以正常访问,但接下来在代码里用get请求返回的结果却是404。
具体代码部分mu3u8文件内容为:
从m3u8文件提取链接的代码如下:
with open(‘…/m3u8/劣迹2.m3u8’, mode=‘r’, encoding=‘utf-8’) as f:
for line in f:
line.strip()
if line.startswith(‘#’):
continue
m3u8_url= ‘https://new.qqaku.com’ + line
print(“m3u8_url”, m3u8_url)
输出结果:
很显然该链接时是有效的,但接下来再用get请求该网址时:
m3u8_data = requests.get(m3u8_url, headers=headers)
print(m3u8_data)
结果却是404:
当时我的第一反应是
为什么链接有效但get不到?
代码错了吗?可就这么两句能错到哪去?
昨天、前天、前前天都是这样请求的都没有出错,为什么到这里就偏偏出错了?
是不是编译器的漏洞?
python是不是不适合我?
经过百度、哔站查阅了大量鬼畜后最终做出如下有效修改:
m3u8_data = requests.get(m3u8_url.strip(), headers=headers)
print(m3u8_data)
最终get请求返回 200 的可请求结果:
至于原因我在查阅大量模糊资料后得出:
可能是因为循环地给m3u8_url拼接的line中含有某些空白字符导致get请求无法顺利执行,这时候就要用到strip()函数来将m3u8_url链接前后看不见的隐形空白字符给去掉。
当然了欢迎大佬在评论区给我指正,谢谢!!!



