Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
无聊人士张
you-get
提交
585eb8d4
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,发现更多精彩内容 >>
提交
585eb8d4
编写于
7月 31, 2014
作者:
M
Mort Yao
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'jackyzy823-develop' into develop, fix #257 and close #266
上级
b4614390
4f8440ba
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
71 addition
and
2 deletion
+71
-2
src/you_get/common.py
src/you_get/common.py
+2
-1
src/you_get/extractors/__init__.py
src/you_get/extractors/__init__.py
+1
-0
src/you_get/extractors/qq.py
src/you_get/extractors/qq.py
+14
-1
src/you_get/extractors/tucao.py
src/you_get/extractors/tucao.py
+54
-0
未找到文件。
src/you_get/common.py
浏览文件 @
585eb8d4
...
...
@@ -922,7 +922,7 @@ def script_main(script_name, download, download_playlist = None):
sys
.
exit
(
1
)
def
url_to_module
(
url
):
from
.extractors
import
netease
,
w56
,
acfun
,
baidu
,
bilibili
,
blip
,
catfun
,
cntv
,
cbs
,
coursera
,
dailymotion
,
douban
,
ehow
,
facebook
,
freesound
,
google
,
sina
,
ifeng
,
alive
,
instagram
,
iqiyi
,
joy
,
jpopsuki
,
khan
,
ku6
,
kugou
,
kuwo
,
letv
,
magisto
,
miomio
,
mixcloud
,
mtv81
,
nicovideo
,
pptv
,
qq
,
sohu
,
songtaste
,
soundcloud
,
ted
,
theplatform
,
tudou
,
tumblr
,
vid48
,
vimeo
,
vine
,
vk
,
xiami
,
yinyuetai
,
youku
,
youtube
from
.extractors
import
netease
,
w56
,
acfun
,
baidu
,
bilibili
,
blip
,
catfun
,
cntv
,
cbs
,
coursera
,
dailymotion
,
douban
,
ehow
,
facebook
,
freesound
,
google
,
sina
,
ifeng
,
alive
,
instagram
,
iqiyi
,
joy
,
jpopsuki
,
khan
,
ku6
,
kugou
,
kuwo
,
letv
,
magisto
,
miomio
,
mixcloud
,
mtv81
,
nicovideo
,
pptv
,
qq
,
sohu
,
songtaste
,
soundcloud
,
ted
,
theplatform
,
tudou
,
tu
cao
,
tu
mblr
,
vid48
,
vimeo
,
vine
,
vk
,
xiami
,
yinyuetai
,
youku
,
youtube
video_host
=
r1
(
r
'https?://([^/]+)/'
,
url
)
video_url
=
r1
(
r
'https?://[^/]+(.*)'
,
url
)
...
...
@@ -978,6 +978,7 @@ def url_to_module(url):
'soundcloud'
:
soundcloud
,
'ted'
:
ted
,
'theplatform'
:
theplatform
,
"tucao"
:
tucao
,
'tudou'
:
tudou
,
'tumblr'
:
tumblr
,
'vid48'
:
vid48
,
...
...
src/you_get/extractors/__init__.py
浏览文件 @
585eb8d4
...
...
@@ -37,6 +37,7 @@ from .sohu import *
from
.songtaste
import
*
from
.soundcloud
import
*
from
.theplatform
import
*
from
.tucao
import
*
from
.tudou
import
*
from
.tumblr
import
*
from
.vid48
import
*
...
...
src/you_get/extractors/qq.py
浏览文件 @
585eb8d4
...
...
@@ -4,8 +4,21 @@ __all__ = ['qq_download']
from
..common
import
*
#QQMUSIC
#SINGLE
#1. http://y.qq.com/#type=song&mid=000A9lMb0iEqwN
#2. http://y.qq.com/#type=song&id=4754713
#3. http://s.plcloud.music.qq.com/fcgi-bin/fcg_yqq_song_detail_info.fcg?songmid=002NqCeX3owQIw
#4. http://s.plcloud.music.qq.com/fcgi-bin/fcg_yqq_song_detail_info.fcg?songid=4754713
#ALBUM
#1. http://y.qq.com/y/static/album/3/c/00385vBa0n3O3c.html?pgv_ref=qqmusic.y.index.music.pic1
#2. http://y.qq.com/#type=album&mid=004c62RC2uujor
#MV
#can download as video through qq_download_by_id
#1. http://y.qq.com/y/static/mv/mv_play.html?vid=i0014ufczcw
def
qq_download_by_id
(
id
,
title
=
None
,
output_dir
=
'.'
,
merge
=
True
,
info_only
=
False
):
xml
=
get_html
(
'http://www.acfun.
com
/getinfo?vids=%s'
%
id
)
xml
=
get_html
(
'http://www.acfun.
tv
/getinfo?vids=%s'
%
id
)
from
xml.dom.minidom
import
parseString
doc
=
parseString
(
xml
)
doc_root
=
doc
.
getElementsByTagName
(
'root'
)[
0
]
...
...
src/you_get/extractors/tucao.py
0 → 100644
浏览文件 @
585eb8d4
#!/usr/bin/env python
__all__
=
[
'tucao_download'
]
from
..common
import
*
# import re
import
random
import
time
from
xml.dom
import
minidom
#1. <li>type=tudou&vid=199687639</li>
#2. <li>type=tudou&vid=199506910|</li>
#3. <li>type=video&file=http://xiaoshen140731.qiniudn.com/lovestage04.flv|</li>
#4 may ? <li>type=video&file=http://xiaoshen140731.qiniudn.com/lovestage04.flv|xx**type=&vid=?</li>
#5. <li>type=tudou&vid=200003098|07**type=tudou&vid=200000350|08</li>
# re_pattern=re.compile(r"(type=(.+?)&(vid|file)=(.*?))[\|<]")
def
tucao_single_download
(
type_link
,
title
,
output_dir
=
"."
,
merge
=
True
,
info_only
=
False
):
if
"file"
in
type_link
:
url
=
type_link
[
type_link
.
find
(
"file="
)
+
5
:]
vtype
,
ext
,
size
=
url_info
(
url
)
print_info
(
site_info
,
title
,
vtype
,
size
)
if
not
info_only
:
download_urls
([
url
],
title
,
ext
,
size
,
output_dir
)
else
:
u
=
"http://www.tucao.cc/api/playurl.php?{}&key=tucao{:07x}.cc&r={}"
.
format
(
type_link
,
random
.
getrandbits
(
28
),
int
(
time
.
time
()
*
1000
))
xml
=
minidom
.
parseString
(
get_content
(
u
))
urls
=
[]
size
=
0
for
i
in
xml
.
getElementsByTagName
(
"url"
):
urls
.
append
(
i
.
firstChild
.
nodeValue
)
vtype
,
ext
,
_size
=
url_info
(
i
.
firstChild
.
nodeValue
)
size
+=
_size
print_info
(
site_info
,
title
,
vtype
,
size
)
if
not
info_only
:
download_urls
(
urls
,
title
,
ext
,
size
,
output_dir
)
def
tucao_download
(
url
,
output_dir
=
"."
,
merge
=
True
,
info_only
=
False
):
html
=
get_content
(
url
)
title
=
match1
(
html
,
r
'<h1 class="show_title">(.*?)<\w'
)
raw_list
=
match1
(
html
,
r
"<li>(type=.+?)</li>"
)
raw_l
=
raw_list
.
split
(
"**"
)
if
len
(
raw_l
)
==
1
:
format_link
=
raw_l
[
0
][:
-
1
]
if
raw_l
[
0
].
endswith
(
"|"
)
else
raw_l
[
0
]
tucao_single_download
(
format_link
,
title
,
output_dir
,
merge
,
info_only
)
else
:
for
i
in
raw_l
:
format_link
,
sub_title
=
i
.
split
(
"|"
)
tucao_single_download
(
format_link
,
title
+
"-"
+
sub_title
,
output_dir
,
merge
,
info_only
)
site_info
=
"tucao.cc"
download
=
tucao_download
download_playlist
=
playlist_not_supported
(
"tucao"
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录