you-get/src/you_get/extractors/mixcloud.py

30 lines
891 B
Python
Raw Normal View History

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')