Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
无聊人士张
you-get
提交
7053dabc
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,发现更多精彩内容 >>
提交
7053dabc
编写于
9月 08, 2014
作者:
M
Mort Yao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Tudou: fix incomplete download
上级
edd8ec77
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
14 deletion
+11
-14
src/you_get/extractors/tudou.py
src/you_get/extractors/tudou.py
+11
-14
未找到文件。
src/you_get/extractors/tudou.py
浏览文件 @
7053dabc
...
@@ -3,27 +3,24 @@
...
@@ -3,27 +3,24 @@
__all__
=
[
'tudou_download'
,
'tudou_download_playlist'
,
'tudou_download_by_id'
,
'tudou_download_by_iid'
]
__all__
=
[
'tudou_download'
,
'tudou_download_playlist'
,
'tudou_download_by_id'
,
'tudou_download_by_iid'
]
from
..common
import
*
from
..common
import
*
from
xml.dom.minidom
import
parseString
def
tudou_download_by_iid
(
iid
,
title
,
output_dir
=
'.'
,
merge
=
True
,
info_only
=
False
):
def
tudou_download_by_iid
(
iid
,
title
,
output_dir
=
'.'
,
merge
=
True
,
info_only
=
False
):
data
=
json
.
loads
(
get_decoded_html
(
'http://www.tudou.com/outplay/goto/getItemSegs.action?iid=%s'
%
iid
))
data
=
json
.
loads
(
get_decoded_html
(
'http://www.tudou.com/outplay/goto/getItemSegs.action?iid=%s'
%
iid
))
vids
=
[]
temp
=
max
([
data
[
i
]
for
i
in
data
],
key
=
lambda
x
:
x
[
0
][
"size"
])
for
k
in
data
:
vids
,
size
=
[
t
[
"k"
]
for
t
in
temp
],
sum
([
t
[
"size"
]
for
t
in
temp
])
if
len
(
data
[
k
])
>
0
:
urls
=
[[
n
.
firstChild
.
nodeValue
.
strip
()
vids
.
append
({
"k"
:
data
[
k
][
0
][
"k"
],
"size"
:
data
[
k
][
0
][
"size"
]})
for
n
in
parseString
(
get_html
(
'http://ct.v2.tudou.com/f?id=%s'
%
vid
))
.
getElementsByTagName
(
'f'
)][
0
]
for
vid
in
vids
]
temp
=
max
(
vids
,
key
=
lambda
x
:
x
[
"size"
])
ext
=
r1
(
r
'http://[\w.]*/(\w+)/[\w.]*'
,
urls
[
0
])
vid
,
size
=
temp
[
"k"
],
temp
[
"size"
]
xml
=
get_html
(
'http://ct.v2.tudou.com/f?id=%s'
%
vid
)
from
xml.dom.minidom
import
parseString
doc
=
parseString
(
xml
)
url
=
[
n
.
firstChild
.
nodeValue
.
strip
()
for
n
in
doc
.
getElementsByTagName
(
'f'
)][
0
]
ext
=
r1
(
r
'http://[\w.]*/(\w+)/[\w.]*'
,
url
)
print_info
(
site_info
,
title
,
ext
,
size
)
print_info
(
site_info
,
title
,
ext
,
size
)
if
not
info_only
:
if
not
info_only
:
download_urls
(
[
url
],
title
,
ext
,
size
,
output_dir
=
output_dir
,
merge
=
merge
)
download_urls
(
urls
,
title
,
ext
,
size
,
output_dir
=
output_dir
,
merge
=
merge
)
def
tudou_download_by_id
(
id
,
title
,
output_dir
=
'.'
,
merge
=
True
,
info_only
=
False
):
def
tudou_download_by_id
(
id
,
title
,
output_dir
=
'.'
,
merge
=
True
,
info_only
=
False
):
html
=
get_html
(
'http://www.tudou.com/programs/view/%s/'
%
id
)
html
=
get_html
(
'http://www.tudou.com/programs/view/%s/'
%
id
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录