support for lizhifm

This commit is contained in:
jackyzy823 2015-03-25 11:29:33 +08:00 committed by Mort Yao
parent 7aeb94fc7d
commit 228bb26f5b
3 changed files with 44 additions and 1 deletions

View File

@ -900,7 +900,7 @@ def script_main(script_name, download, download_playlist = None):
sys.exit(1) sys.exit(1)
def url_to_module(url): def url_to_module(url):
from .extractors import netease, w56, acfun, baidu, baomihua, bilibili, blip, catfun, cntv, cbs, coursera, dailymotion, dongting, douban, douyutv, 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, zhanqi from .extractors import netease, w56, acfun, baidu, baomihua, bilibili, blip, catfun, cntv, cbs, coursera, dailymotion, dongting, douban, douyutv, ehow, facebook, freesound, google, sina, ifeng, alive, instagram, iqiyi, joy, jpopsuki, khan, ku6, kugou, kuwo, letv, lizhi, magisto, miomio, mixcloud, mtv81, nicovideo, pptv, qq, sohu, songtaste, soundcloud, ted, theplatform, tudou, tucao, tumblr, vid48, videobam, vimeo, vine, vk, xiami, yinyuetai, youku, youtube, zhanqi
video_host = r1(r'https?://([^/]+)/', url) video_host = r1(r'https?://([^/]+)/', url)
video_url = r1(r'https?://[^/]+(.*)', url) video_url = r1(r'https?://[^/]+(.*)', url)
@ -945,6 +945,7 @@ def url_to_module(url):
'kugou': kugou, 'kugou': kugou,
'kuwo': kuwo, 'kuwo': kuwo,
'letv': letv, 'letv': letv,
'lizhi':lizhi,
'magisto': magisto, 'magisto': magisto,
'miomio': miomio, 'miomio': miomio,
'mixcloud': mixcloud, 'mixcloud': mixcloud,

View File

@ -25,6 +25,7 @@ from .ku6 import *
from .kugou import * from .kugou import *
from .kuwo import * from .kuwo import *
from .letv import * from .letv import *
from .lizhi import *
from .magisto import * from .magisto import *
from .miomio import * from .miomio import *
from .mixcloud import * from .mixcloud import *

View File

@ -0,0 +1,41 @@
#!/usr/bin/env python
__all__ = ['lizhi_download']
import json
from ..common import *
def lizhi_download_playlist(url, output_dir = '.', merge = True, info_only = False):
# like this http://www.lizhi.fm/#/31365/
#api desc: s->start l->length band->some radio
#http://www.lizhi.fm/api/radio_audios?s=0&l=100&band=31365
band_id = match1(url,r'#/(\d+)')
#try to get a considerable large l to reduce html parsing task.
api_url = 'http://www.lizhi.fm/api/radio_audios?s=0&l=65535&band='+band_id
content_json = json.loads(get_content(api_url))
for sound in content_json:
title = sound["name"]
res_url = sound["url"]
songtype, ext, size = url_info(res_url,faker=True)
print_info(site_info, title, songtype, size)
if not info_only:
#no referer no speed!
download_urls([res_url], title, ext, size, output_dir, merge=merge ,refer = 'http://www.lizhi.fm',faker=True)
pass
def lizhi_download(url, output_dir = '.', merge = True, info_only = False):
# url like http://www.lizhi.fm/#/549759/18864883431656710
api_id = match1(url,r'#/(\d+/\d+)')
api_url = 'http://www.lizhi.fm/api/audio/'+api_id
content_json = json.loads(get_content(api_url))
title = content_json["audio"]["name"]
res_url = content_json["audio"]["url"]
songtype, ext, size = url_info(res_url,faker=True)
print_info(site_info, title, songtype, size)
if not info_only:
#no referer no speed!
download_urls([res_url], title, ext, size, output_dir, merge=merge ,refer = 'http://www.lizhi.fm',faker=True)
site_info = "lizhi.fm"
download = lizhi_download
download_playlist = lizhi_download_playlist