栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python m3u8文件提取的.ts链接有效但get请求返回404

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python m3u8文件提取的.ts链接有效但get请求返回404

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链接前后看不见的隐形空白字符给去掉。

当然了欢迎大佬在评论区给我指正,谢谢!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019223.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号