2013-01-31 19:47:41 +04:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
|
|
__all__ = ['mixcloud_download']
|
|
|
|
|
|
|
|
from ..common import *
|
|
|
|
|
2015-12-09 12:47:21 +03:00
|
|
|
def mixcloud_download(url, output_dir='.', merge=True, info_only=False, **kwargs):
|
2015-10-12 22:18:56 +03:00
|
|
|
html = get_html(url, faker=True)
|
2013-01-31 19:47:41 +04:00
|
|
|
title = r1(r'<meta property="og:title" content="([^"]*)"', html)
|
2015-12-09 12:47:21 +03:00
|
|
|
preview_url = r1(r'm-preview=\"([^\"]+)\"', html)
|
|
|
|
preview = r1(r'previews(.*)\.mp3$', preview_url)
|
2014-09-21 04:22:57 +04:00
|
|
|
|
2013-01-31 19:47:41 +04:00
|
|
|
for i in range(10, 30):
|
2015-12-09 12:47:21 +03:00
|
|
|
url = 'https://stream{i}.mixcloud.com/c/m4a/64{p}.m4a'.format(
|
|
|
|
i = i,
|
|
|
|
p = preview
|
|
|
|
)
|
2013-01-31 19:47:41 +04:00
|
|
|
try:
|
2015-12-09 12:47:21 +03:00
|
|
|
mime, ext, size = url_info(url)
|
2013-01-31 19:47:41 +04:00
|
|
|
break
|
2015-12-09 12:47:21 +03:00
|
|
|
except: continue
|
2014-09-21 04:22:57 +04:00
|
|
|
|
2015-12-09 12:47:21 +03:00
|
|
|
print_info(site_info, title, ext, size)
|
2013-01-31 19:47:41 +04:00
|
|
|
if not info_only:
|
2015-12-09 12:47:21 +03:00
|
|
|
download_urls([url], title, ext, size, output_dir=output_dir, merge=merge)
|
2013-01-31 19:47:41 +04:00
|
|
|
|
|
|
|
site_info = "Mixcloud.com"
|
|
|
|
download = mixcloud_download
|
|
|
|
download_playlist = playlist_not_supported('mixcloud')
|