Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
无聊人士张
you-get
提交
a00d8a60
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 搜索 >>
提交
a00d8a60
编写于
9月 14, 2014
作者:
L
lilydjwg
提交者:
Mort Yao
10月 17, 2014
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add Dongting (天天动听) support
example URL:
http://www.dongting.com/?song_id=281575
上级
861e3af3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
57 addition
and
1 deletion
+57
-1
src/you_get/common.py
src/you_get/common.py
+12
-1
src/you_get/extractors/dongting.py
src/you_get/extractors/dongting.py
+45
-0
未找到文件。
src/you_get/common.py
浏览文件 @
a00d8a60
...
...
@@ -898,7 +898,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
,
tucao
,
tumblr
,
vid48
,
videobam
,
vimeo
,
vine
,
vk
,
xiami
,
yinyuetai
,
youku
,
youtube
from
.extractors
import
netease
,
w56
,
acfun
,
baidu
,
bilibili
,
blip
,
catfun
,
cntv
,
cbs
,
coursera
,
dailymotion
,
do
ngting
,
do
uban
,
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
,
tucao
,
tumblr
,
vid48
,
videobam
,
vimeo
,
vine
,
vk
,
xiami
,
yinyuetai
,
youku
,
youtube
video_host
=
r1
(
r
'https?://([^/]+)/'
,
url
)
video_url
=
r1
(
r
'https?://[^/]+(.*)'
,
url
)
...
...
@@ -922,6 +922,7 @@ def url_to_module(url):
'cbs'
:
cbs
,
'coursera'
:
coursera
,
'dailymotion'
:
dailymotion
,
'dongting'
:
dongting
,
'douban'
:
douban
,
'ehow'
:
ehow
,
'facebook'
:
facebook
,
...
...
@@ -991,3 +992,13 @@ def any_download_playlist(url, **kwargs):
def
main
():
script_main
(
'you-get'
,
any_download
,
any_download_playlist
)
_unit_prefixes
=
'bkmg'
def
parse_size
(
size
):
m
=
re
.
match
(
r
'([\d.]+)(.(?:i?B)?)'
,
size
,
re
.
I
)
if
m
:
return
int
(
float
(
m
.
group
(
1
))
*
1024
**
_unit_prefixes
.
index
(
m
.
group
(
2
).
lower
()))
else
:
return
0
src/you_get/extractors/dongting.py
0 → 100644
浏览文件 @
a00d8a60
# -*- coding: utf-8 -*-
__all__
=
[
'dongting_download'
]
from
..common
import
*
def
dongting_download_lyric
(
lrc_url
,
file_name
,
output_dir
):
j
=
get_html
(
lrc_url
)
info
=
json
.
loads
(
j
)
lrc
=
j
[
'data'
][
'lrc'
]
filename
=
get_filename
(
file_name
)
with
open
(
output_dir
+
"/"
+
filename
+
'.lrc'
,
'w'
,
encoding
=
'utf-8'
)
as
x
:
x
.
write
(
lrc
)
def
dongting_download_song
(
sid
,
output_dir
=
'.'
,
merge
=
True
,
info_only
=
False
):
j
=
get_html
(
'http://ting.hotchanson.com/detail.do?neid=%s&size=0'
%
sid
)
info
=
json
.
loads
(
j
)
song_title
=
info
[
'data'
][
'songName'
]
album_name
=
info
[
'data'
][
'albumName'
]
artist
=
info
[
'data'
][
'singerName'
]
ext
=
'mp3'
size
=
parse_size
(
info
[
'data'
][
'itemList'
][
-
1
][
'size'
])
url
=
info
[
'data'
][
'itemList'
][
-
1
][
'downUrl'
]
print_info
(
site_info
,
song_title
,
ext
,
size
)
if
not
info_only
:
file_name
=
"%s - %s - %s"
%
(
song_title
,
album_name
,
artist
)
download_urls
([
url
],
file_name
,
ext
,
size
,
output_dir
,
merge
=
merge
)
lrc_url
=
(
'http://lp.music.ttpod.com/lrc/down?'
'lrcid=&artist=%s&title=%s'
)
%
(
parse
.
quote
(
artist
),
parse
.
quote
(
song_title
))
try
:
dongting_download_lyric
(
lrc_url
,
file_name
,
output_dir
)
except
:
pass
def
dongting_download
(
url
,
output_dir
=
'.'
,
stream_type
=
None
,
merge
=
True
,
info_only
=
False
):
if
re
.
match
(
'http://www.dongting.com/\?song_id=\d+'
,
url
):
id
=
r1
(
r
'http://www.dongting.com/\?song_id=(\d+)'
,
url
)
dongting_download_song
(
id
,
output_dir
,
merge
,
info_only
)
site_info
=
"Dongting.com"
download
=
dongting_download
download_playlist
=
playlist_not_supported
(
"dongting"
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录