mirror of
https://github.com/soimort/you-get.git
synced 2025-02-03 16:53:56 +03:00
42 lines
1.7 KiB
Python
42 lines
1.7 KiB
Python
#!/usr/bin/env python
|
|
|
|
__all__ = ['lizhi_download']
|
|
import json
|
|
from ..common import *
|
|
|
|
def lizhi_download_playlist(url, output_dir = '.', merge = True, info_only = False, **kwargs):
|
|
# 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, **kwargs):
|
|
# 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
|