Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
XianxinMao
Yt Dlp
提交
9c8bc84f
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,发现更多精彩内容 >>
提交
9c8bc84f
编写于
11月 03, 2020
作者:
E
exwm
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[vlive] add: improved video extractor errors
上级
c434e9f5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
5 deletion
+15
-5
youtube_dlc/extractor/vlive.py
youtube_dlc/extractor/vlive.py
+15
-5
未找到文件。
youtube_dlc/extractor/vlive.py
浏览文件 @
9c8bc84f
...
@@ -122,15 +122,24 @@ def _real_extract(self, url):
...
@@ -122,15 +122,24 @@ def _real_extract(self, url):
video_params
=
try_get
(
params
,
lambda
x
:
x
[
"postDetail"
][
"post"
][
"officialVideo"
],
dict
)
video_params
=
try_get
(
params
,
lambda
x
:
x
[
"postDetail"
][
"post"
][
"officialVideo"
],
dict
)
if
video_params
is
None
:
if
video_params
is
None
:
error_data
=
try_get
(
params
,
lambda
x
:
x
[
"postDetail"
][
"error"
][
"data"
],
dict
)
error
=
try_get
(
params
,
lambda
x
:
x
[
"postDetail"
][
"error"
],
dict
)
error_data
=
try_get
(
error
,
lambda
x
:
x
[
"data"
],
dict
)
error_video
=
try_get
(
error_data
,
lambda
x
:
x
[
"officialVideo"
],
dict
)
error_msg
=
try_get
(
error
,
lambda
x
:
x
[
"message"
],
compat_str
)
product_type
=
try_get
(
error_data
,
product_type
=
try_get
(
error_data
,
[
lambda
x
:
x
[
"officialVideo"
][
"productType"
],
[
lambda
x
:
x
[
"officialVideo"
][
"productType"
],
lambda
x
:
x
[
"board"
][
"boardType"
]],
lambda
x
:
x
[
"board"
][
"boardType"
]],
compat_str
)
compat_str
)
if
product_type
in
(
'VLIVE_PLUS'
,
'VLIVE+'
):
self
.
raise_login_required
(
'This video is only available for VLIVE+ subscribers'
)
if
error_video
is
not
None
:
if
product_type
in
(
'VLIVE_PLUS'
,
'VLIVE+'
):
self
.
raise_login_required
(
'This video is only available with V LIVE+.'
)
elif
error_msg
is
not
None
:
raise
ExtractorError
(
'V LIVE reported the following error: %s'
%
error_msg
)
else
:
raise
ExtractorError
(
'Failed to extract video parameters.'
)
elif
'post'
in
url
:
elif
'post'
in
url
:
raise
ExtractorError
(
'Url does not appear to be a video post.'
)
raise
ExtractorError
(
'Url does not appear to be a video post.'
,
expected
=
True
)
else
:
else
:
raise
ExtractorError
(
'Failed to extract video parameters.'
)
raise
ExtractorError
(
'Failed to extract video parameters.'
)
...
@@ -193,11 +202,12 @@ def _live(self, video_id, webpage, params):
...
@@ -193,11 +202,12 @@ def _live(self, video_id, webpage, params):
return
info
return
info
def
_replay
(
self
,
video_id
,
webpage
,
params
,
video_params
):
def
_replay
(
self
,
video_id
,
webpage
,
params
,
video_params
):
long_video_id
=
video_params
[
"vodId"
]
VOD_KEY_ENDPOINT
=
'https://www.vlive.tv/globalv-web/vam-web/video/v1.0/vod/%s/inkey'
%
video_id
VOD_KEY_ENDPOINT
=
'https://www.vlive.tv/globalv-web/vam-web/video/v1.0/vod/%s/inkey'
%
video_id
key_json
=
self
.
_download_json
(
VOD_KEY_ENDPOINT
,
video_id
,
key_json
=
self
.
_download_json
(
VOD_KEY_ENDPOINT
,
video_id
,
headers
=
{
"referer"
:
"https://www.vlive.tv"
})
headers
=
{
"referer"
:
"https://www.vlive.tv"
})
key
=
key_json
[
"inkey"
]
key
=
key_json
[
"inkey"
]
long_video_id
=
video_params
[
"vodId"
]
return
merge_dicts
(
return
merge_dicts
(
self
.
_get_common_fields
(
webpage
,
params
),
self
.
_get_common_fields
(
webpage
,
params
),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录