Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
XianxinMao
Yt Dlp
提交
e3cd1fcd
Y
Yt Dlp
项目概览
XianxinMao
/
Yt Dlp
12 个月 前同步成功
通知
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,发现更多精彩内容 >>
未验证
提交
e3cd1fcd
编写于
7月 10, 2017
作者:
S
Sergey M․
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[vlive:playlist] Relax and simplify
上级
b71c18b4
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
21 deletion
+20
-21
youtube_dl/extractor/vlive.py
youtube_dl/extractor/vlive.py
+20
-21
未找到文件。
youtube_dl/extractor/vlive.py
浏览文件 @
e3cd1fcd
...
...
@@ -280,10 +280,8 @@ class VLivePlaylistIE(InfoExtractor):
}
def
_real_extract
(
self
,
url
):
playlist_id
=
self
.
_match_id
(
url
)
video_id_match
=
re
.
match
(
self
.
_VALID_URL
,
url
)
assert
video_id_match
video_id
=
compat_str
(
video_id_match
.
group
(
'video_id'
))
mobj
=
re
.
match
(
self
.
_VALID_URL
,
url
)
video_id
,
playlist_id
=
mobj
.
group
(
'video_id'
,
'id'
)
VIDEO_URL_TEMPLATE
=
'http://www.vlive.tv/video/%s'
if
self
.
_downloader
.
params
.
get
(
'noplaylist'
):
...
...
@@ -294,26 +292,27 @@ def _real_extract(self, url):
ie
=
VLiveIE
.
ie_key
(),
video_id
=
video_id
)
self
.
to_screen
(
'Downloading playlist %s - add --no-playlist to just download video'
%
playlist_id
)
'Downloading playlist %s - add --no-playlist to just download video'
%
playlist_id
)
webpage
=
self
.
_download_webpage
(
'http://www.vlive.tv/video/%s/playlist/%s'
%
(
video_id
,
playlist_id
),
video_id
)
'http://www.vlive.tv/video/%s/playlist/%s'
%
(
video_id
,
playlist_id
),
playlist_id
)
playlist_name
=
self
.
_html_search_regex
(
r
'<div[^>]+class="[^"]*multicam_playlist[^>]*>\s*<h3[^>]+>([^<]+)'
,
webpage
,
'playlist name'
,
fatal
=
False
)
item_ids
=
self
.
_parse_json
(
self
.
_search_regex
(
r
'playlistVideoSeqs\s*=\s*(\[[^]]+\])'
,
webpage
,
'playlist video seqs'
),
playlist_id
)
item_ids
=
self
.
_search_regex
(
r
'\bvar\s+playlistVideoSeqs\s*=\s*(\[[^]]+\])'
,
webpage
,
'playlist item ids'
)
entries
=
[
self
.
url_result
(
VIDEO_URL_TEMPLATE
%
item_id
,
ie
=
VLiveIE
.
ie_key
(),
video_id
=
compat_str
(
item_id
))
for
item_id
in
item_ids
]
entries
=
[]
for
item_id
in
self
.
_parse_json
(
item_ids
,
playlist_id
):
item_id
=
compat_str
(
item_id
)
entries
.
append
(
self
.
url_result
(
VIDEO_URL_TEMPLATE
%
item_id
,
ie
=
VLiveIE
.
ie_key
(),
video_id
=
item_id
))
playlist_name
=
self
.
_html_search_regex
(
r
'<div[^>]+class="[^"]*multicam_playlist[^>]*>\s*<h3[^>]+>([^<]+)'
,
webpage
,
'playlist title'
,
fatal
=
False
)
return
self
.
playlist_result
(
entries
,
playlist_id
,
playlist_name
)
return
self
.
playlist_result
(
entries
,
playlist_id
,
playlist_name
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录