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

56 lines
1.9 KiB
Python
Raw Normal View History

2013-02-23 02:30:51 +04:00
#!/usr/bin/env python
__all__ = ['miomio_download']
from ..common import *
from .tudou import tudou_download_by_id
2014-06-24 05:59:47 +04:00
from .youku import youku_download_by_vid
2015-10-21 07:13:17 +03:00
from xml.dom.minidom import parseString
2013-02-23 02:30:51 +04:00
def miomio_download(url, output_dir = '.', merge = True, info_only = False, **kwargs):
2013-02-23 02:30:51 +04:00
html = get_html(url)
2014-06-24 05:59:47 +04:00
2013-02-23 02:30:51 +04:00
title = r1(r'<meta name="description" content="([^"]*)"', html)
flashvars = r1(r'flashvars="(type=[^"]*)"', html)
2014-06-24 05:59:47 +04:00
2013-02-23 02:30:51 +04:00
t = r1(r'type=(\w+)', flashvars)
id = r1(r'vid=([^"]+)', flashvars)
if t == 'youku':
2014-06-28 13:08:19 +04:00
youku_download_by_vid(id, title=title, output_dir=output_dir, merge=merge, info_only=info_only)
2013-02-23 02:30:51 +04:00
elif t == 'tudou':
2013-10-19 01:03:56 +04:00
tudou_download_by_id(id, title, output_dir=output_dir, merge=merge, info_only=info_only)
2015-10-21 07:13:17 +03:00
elif t == 'sina' or t == 'video':
2015-11-07 13:43:31 +03:00
fake_headers['Referer'] = url
2014-06-27 19:46:18 +04:00
url = "http://www.miomio.tv/mioplayer/mioplayerconfigfiles/sina.php?vid=" + id
2015-10-21 07:13:17 +03:00
xml_data = get_content(url, headers=fake_headers, decoded=True)
url_list = sina_xml_to_url_list(xml_data)
size_full = 0
for url in url_list:
type_, ext, size = url_info(url)
size_full += size
print_info(site_info, title, type_, size_full)
if not info_only:
download_urls([url], title, ext, total_size=None, output_dir=output_dir, merge=merge)
2013-02-23 02:30:51 +04:00
else:
raise NotImplementedError(flashvars)
2015-10-21 07:13:17 +03:00
#----------------------------------------------------------------------
def sina_xml_to_url_list(xml_data):
"""str->list
Convert XML to URL List.
From Biligrab.
"""
rawurl = []
dom = parseString(xml_data)
for node in dom.getElementsByTagName('durl'):
url = node.getElementsByTagName('url')[0]
rawurl.append(url.childNodes[0].data)
return rawurl
2013-02-23 02:30:51 +04:00
site_info = "MioMio.tv"
download = miomio_download
download_playlist = playlist_not_supported('miomio')