Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
无聊人士张
you-get
提交
b44f83e9
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,发现更多精彩内容 >>
提交
b44f83e9
编写于
5月 21, 2014
作者:
M
Mort Yao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update acfun.py & bilibili.py to reflect the merge of #320
上级
364bea06
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
13 addition
and
13 deletion
+13
-13
src/you_get/extractor/acfun.py
src/you_get/extractor/acfun.py
+1
-1
src/you_get/extractor/bilibili.py
src/you_get/extractor/bilibili.py
+12
-12
未找到文件。
src/you_get/extractor/acfun.py
浏览文件 @
b44f83e9
...
...
@@ -36,7 +36,7 @@ def acfun_download_by_vid(vid, title=None, output_dir='.', merge=True, info_only
raise
NotImplementedError
(
t
)
if
not
info_only
:
title
=
legitimiz
e
(
title
)
title
=
get_filenam
e
(
title
)
try
:
print
(
'Downloading %s ...'
%
(
title
+
'.cmt.json'
))
cmt
=
get_srt_json
(
danmakuId
)
...
...
src/you_get/extractor/bilibili.py
浏览文件 @
b44f83e9
...
...
@@ -19,7 +19,7 @@ def parse_srt_p(p):
assert
len
(
fields
)
==
8
,
fields
time
,
mode
,
font_size
,
font_color
,
pub_time
,
pool
,
user_id
,
history
=
fields
time
=
float
(
time
)
mode
=
int
(
mode
)
assert
1
<=
mode
<=
8
# mode 1~3: scrolling
...
...
@@ -28,17 +28,17 @@ def parse_srt_p(p):
# mode 6: reverse?
# mode 7: position
# mode 8: advanced
pool
=
int
(
pool
)
assert
0
<=
pool
<=
2
# pool 0: normal
# pool 1: srt
# pool 2: special?
font_size
=
int
(
font_size
)
font_color
=
'#%06x'
%
int
(
font_color
)
return
pool
,
mode
,
font_size
,
font_color
def
parse_srt_xml
(
xml
):
...
...
@@ -56,7 +56,7 @@ def parse_cid_playurl(xml):
def
bilibili_download_by_cid
(
id
,
title
,
output_dir
=
'.'
,
merge
=
True
,
info_only
=
False
):
url
=
'http://interface.bilibili.tv/playurl?cid='
+
id
urls
=
[
i
if
not
re
.
match
(
r
'.*\.qqvideo\.tc\.qq\.com'
,
i
)
else
re
.
sub
(
r
'.*\.qqvideo\.tc\.qq\.com'
,
'http://vsrc.store.qq.com'
,
i
)
for
i
in
parse_cid_playurl
(
get_html
(
url
,
'utf-8'
))]
# dirty fix for QQ
if
re
.
search
(
r
'\.(flv|hlv)\b'
,
urls
[
0
]):
type
=
'flv'
elif
re
.
search
(
r
'/flv/'
,
urls
[
0
]):
...
...
@@ -65,12 +65,12 @@ def bilibili_download_by_cid(id, title, output_dir = '.', merge = True, info_onl
type
=
'mp4'
else
:
type
=
'flv'
size
=
0
for
url
in
urls
:
_
,
_
,
temp
=
url_info
(
url
)
size
+=
temp
print_info
(
site_info
,
title
,
type
,
size
)
if
not
info_only
:
download_urls
(
urls
,
title
,
type
,
total_size
=
None
,
output_dir
=
output_dir
,
merge
=
merge
)
...
...
@@ -78,11 +78,11 @@ def bilibili_download_by_cid(id, title, output_dir = '.', merge = True, info_onl
def
bilibili_download
(
url
,
output_dir
=
'.'
,
merge
=
True
,
info_only
=
False
):
assert
re
.
match
(
r
'http://(www.bilibili.tv|bilibili.kankanews.com|bilibili.smgbb.cn)/video/av(\d+)'
,
url
)
html
=
get_html
(
url
)
title
=
r1
(
r
'<h2[^>]*>([^<>]+)</h2>'
,
html
)
title
=
unescape_html
(
title
)
title
=
escape_file_path
(
title
)
flashvars
=
r1_of
([
r
'player_params=\'(cid=\d+)'
,
r
'flashvars="([^"]+)"'
,
r
'"https://[a-z]+\.bilibili\.tv/secure,(cid=\d+)(?:&aid=\d+)?"'
],
html
)
assert
flashvars
t
,
id
=
flashvars
.
split
(
'='
,
1
)
...
...
@@ -97,9 +97,9 @@ def bilibili_download(url, output_dir = '.', merge = True, info_only = False):
tudou_download_by_id
(
id
,
title
,
output_dir
=
output_dir
,
merge
=
merge
,
info_only
=
info_only
)
else
:
raise
NotImplementedError
(
flashvars
)
if
not
info_only
:
title
=
legitimiz
e
(
title
)
title
=
get_filenam
e
(
title
)
print
(
'Downloading %s ...'
%
(
title
+
'.cmt.xml'
))
xml
=
get_srt_xml
(
id
)
with
open
(
os
.
path
.
join
(
output_dir
,
title
+
'.cmt.xml'
),
'w'
,
encoding
=
'utf-8'
)
as
x
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录