Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
XianxinMao
Yt Dlp
提交
a076c1f9
Y
Yt Dlp
项目概览
XianxinMao
/
Yt Dlp
11 个月 前同步成功
通知
27
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
Yt Dlp
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
a076c1f9
编写于
4月 27, 2022
作者:
E
Elyse
提交者:
GitHub
4月 27, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[extractor] Update `manifest_url`s after redirect (#3575)
Authored by: elyse0
上级
b3602f68
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
23 addition
and
11 deletion
+23
-11
yt_dlp/extractor/common.py
yt_dlp/extractor/common.py
+23
-11
未找到文件。
yt_dlp/extractor/common.py
浏览文件 @
a076c1f9
...
...
@@ -1982,17 +1982,19 @@ def _sleep(self, timeout, video_id, msg_template=None):
def
_extract_f4m_formats
(
self
,
manifest_url
,
video_id
,
preference
=
None
,
quality
=
None
,
f4m_id
=
None
,
transform_source
=
lambda
s
:
fix_xml_ampersands
(
s
).
strip
(),
fatal
=
True
,
m3u8_id
=
None
,
data
=
None
,
headers
=
{},
query
=
{}):
manifest
=
self
.
_download_xml
(
res
=
self
.
_download_xml_handle
(
manifest_url
,
video_id
,
'Downloading f4m manifest'
,
'Unable to download f4m manifest'
,
# Some manifests may be malformed, e.g. prosiebensat1 generated manifests
# (see https://github.com/ytdl-org/youtube-dl/issues/6215#issuecomment-121704244)
transform_source
=
transform_source
,
fatal
=
fatal
,
data
=
data
,
headers
=
headers
,
query
=
query
)
if
manifest
is
False
:
if
res
is
False
:
return
[]
manifest
,
urlh
=
res
manifest_url
=
urlh
.
geturl
()
return
self
.
_parse_f4m_formats
(
manifest
,
manifest_url
,
video_id
,
preference
=
preference
,
quality
=
quality
,
f4m_id
=
f4m_id
,
transform_source
=
transform_source
,
fatal
=
fatal
,
m3u8_id
=
m3u8_id
)
...
...
@@ -2400,12 +2402,14 @@ def _xpath_ns(path, namespace=None):
return
'/'
.
join
(
out
)
def
_extract_smil_formats_and_subtitles
(
self
,
smil_url
,
video_id
,
fatal
=
True
,
f4m_params
=
None
,
transform_source
=
None
):
smil
=
self
.
_download_smil
(
smil_url
,
video_id
,
fatal
=
fatal
,
transform_source
=
transform_source
)
if
smil
is
False
:
res
=
self
.
_download_smil
(
smil_url
,
video_id
,
fatal
=
fatal
,
transform_source
=
transform_source
)
if
res
is
False
:
assert
not
fatal
return
[],
{}
smil
,
urlh
=
res
smil_url
=
urlh
.
geturl
()
namespace
=
self
.
_parse_smil_namespace
(
smil
)
fmts
=
self
.
_parse_smil_formats
(
...
...
@@ -2422,13 +2426,17 @@ def _extract_smil_formats(self, *args, **kwargs):
return
fmts
def
_extract_smil_info
(
self
,
smil_url
,
video_id
,
fatal
=
True
,
f4m_params
=
None
):
smil
=
self
.
_download_smil
(
smil_url
,
video_id
,
fatal
=
fatal
)
if
smil
is
False
:
res
=
self
.
_download_smil
(
smil_url
,
video_id
,
fatal
=
fatal
)
if
res
is
False
:
return
{}
smil
,
urlh
=
res
smil_url
=
urlh
.
geturl
()
return
self
.
_parse_smil
(
smil
,
smil_url
,
video_id
,
f4m_params
=
f4m_params
)
def
_download_smil
(
self
,
smil_url
,
video_id
,
fatal
=
True
,
transform_source
=
None
):
return
self
.
_download_xml
(
return
self
.
_download_xml
_handle
(
smil_url
,
video_id
,
'Downloading SMIL file'
,
'Unable to download SMIL file'
,
fatal
=
fatal
,
transform_source
=
transform_source
)
...
...
@@ -2607,11 +2615,15 @@ def _parse_smil_subtitles(self, smil, namespace=None, subtitles_lang='en'):
return
subtitles
def
_extract_xspf_playlist
(
self
,
xspf_url
,
playlist_id
,
fatal
=
True
):
xspf
=
self
.
_download_xml
(
res
=
self
.
_download_xml_handle
(
xspf_url
,
playlist_id
,
'Downloading xpsf playlist'
,
'Unable to download xspf manifest'
,
fatal
=
fatal
)
if
xspf
is
False
:
if
res
is
False
:
return
[]
xspf
,
urlh
=
res
xspf_url
=
urlh
.
geturl
()
return
self
.
_parse_xspf
(
xspf
,
playlist_id
,
xspf_url
=
xspf_url
,
xspf_base_url
=
base_url
(
xspf_url
))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录