Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
无聊人士张
you-get
提交
773b53f6
Y
you-get
项目概览
无聊人士张
/
you-get
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
you-get
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
773b53f6
编写于
5月 20, 2020
作者:
C
chrisww
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Try to show non-dash formats for bangumi videos in bilibili
上级
eca7a1d5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
12 addition
and
11 deletion
+12
-11
src/you_get/extractors/bilibili.py
src/you_get/extractors/bilibili.py
+12
-11
未找到文件。
src/you_get/extractors/bilibili.py
浏览文件 @
773b53f6
...
...
@@ -81,8 +81,8 @@ class Bilibili(VideoExtractor):
return
'https://www.bilibili.com/audio/music-service-c/web/song/of-menu?sid=%s&pn=1&ps=%s'
%
(
sid
,
ps
)
@
staticmethod
def
bilibili_bangumi_api
(
avid
,
cid
,
ep_id
,
qn
=
0
):
return
'https://api.bilibili.com/pgc/player/web/playurl?avid=%s&cid=%s&qn=%s&type=&otype=json&ep_id=%s&fnver=0&fnval=
16'
%
(
avid
,
cid
,
qn
,
ep_id
)
def
bilibili_bangumi_api
(
avid
,
cid
,
ep_id
,
qn
=
0
,
fnval
=
16
):
return
'https://api.bilibili.com/pgc/player/web/playurl?avid=%s&cid=%s&qn=%s&type=&otype=json&ep_id=%s&fnver=0&fnval=
%s'
%
(
avid
,
cid
,
qn
,
ep_id
,
fnval
)
@
staticmethod
def
bilibili_interface_api
(
cid
,
qn
=
0
):
...
...
@@ -316,15 +316,16 @@ class Bilibili(VideoExtractor):
return
current_quality
=
api_playinfo
[
'result'
][
'quality'
]
# get alternative formats from API
for
qn
in
[
120
,
112
,
80
,
64
,
32
,
16
]:
# automatic format for durl: qn=0
# for dash, qn does not matter
if
qn
!=
current_quality
:
api_url
=
self
.
bilibili_bangumi_api
(
avid
,
cid
,
ep_id
,
qn
=
qn
)
api_content
=
get_content
(
api_url
,
headers
=
self
.
bilibili_headers
(
referer
=
self
.
url
))
api_playinfo
=
json
.
loads
(
api_content
)
if
api_playinfo
[
'code'
]
==
0
:
# success
playinfos
.
append
(
api_playinfo
)
for
fnval
in
[
8
,
16
]:
for
qn
in
[
120
,
112
,
80
,
64
,
32
,
16
]:
# automatic format for durl: qn=0
# for dash, qn does not matter
if
qn
!=
current_quality
:
api_url
=
self
.
bilibili_bangumi_api
(
avid
,
cid
,
ep_id
,
qn
=
qn
,
fnval
=
fnval
)
api_content
=
get_content
(
api_url
,
headers
=
self
.
bilibili_headers
(
referer
=
self
.
url
))
api_playinfo
=
json
.
loads
(
api_content
)
if
api_playinfo
[
'code'
]
==
0
:
# success
playinfos
.
append
(
api_playinfo
)
for
playinfo
in
playinfos
:
if
'durl'
in
playinfo
[
'result'
]:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录