2015-08-23 09:14:12 +03:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
|
|
__all__ = ['miaopai_download']
|
|
|
|
|
|
|
|
from ..common import *
|
|
|
|
import urllib.error
|
|
|
|
|
2016-03-01 01:22:47 +03:00
|
|
|
def miaopai_download_by_url(url, output_dir = '.', merge = False, info_only = False, **kwargs):
|
2015-08-23 09:14:12 +03:00
|
|
|
'''Source: Android mobile'''
|
|
|
|
if re.match(r'http://video.weibo.com/show\?fid=(\d{4}:\w{32})\w*', url):
|
|
|
|
fake_headers_mobile = {
|
|
|
|
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
|
|
|
|
'Accept-Charset': 'UTF-8,*;q=0.5',
|
|
|
|
'Accept-Encoding': 'gzip,deflate,sdch',
|
|
|
|
'Accept-Language': 'en-US,en;q=0.8',
|
|
|
|
'User-Agent': 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36'
|
|
|
|
}
|
|
|
|
webpage_url = re.search(r'(http://video.weibo.com/show\?fid=\d{4}:\w{32})\w*', url).group(1) + '&type=mp4' #mobile
|
2016-01-31 10:00:09 +03:00
|
|
|
|
2015-08-23 09:14:12 +03:00
|
|
|
#grab download URL
|
|
|
|
a = get_content(webpage_url, headers= fake_headers_mobile , decoded=True)
|
2017-03-16 21:03:55 +03:00
|
|
|
url = match1(a, r'<video id=.*?src=[\'"](.*?)[\'"]\W')
|
2016-01-31 10:00:09 +03:00
|
|
|
|
2015-08-23 09:14:12 +03:00
|
|
|
#grab title
|
|
|
|
b = get_content(webpage_url) #normal
|
2016-01-31 10:00:09 +03:00
|
|
|
title = match1(b, r'<meta name="description" content="([\s\S]*?)\"\W')
|
2015-08-23 09:14:12 +03:00
|
|
|
|
|
|
|
type_, ext, size = url_info(url)
|
|
|
|
print_info(site_info, title, type_, size)
|
|
|
|
if not info_only:
|
2017-03-16 21:03:55 +03:00
|
|
|
download_urls([url], title.replace('\n',''), ext, total_size=None, output_dir=output_dir, merge=merge)
|
2015-08-23 09:14:12 +03:00
|
|
|
|
2016-03-01 01:22:47 +03:00
|
|
|
#----------------------------------------------------------------------
|
|
|
|
def miaopai_download(url, output_dir = '.', merge = False, info_only = False, **kwargs):
|
|
|
|
""""""
|
|
|
|
if re.match(r'http://video.weibo.com/show\?fid=(\d{4}:\w{32})\w*', url):
|
|
|
|
miaopai_download_by_url(url, output_dir, merge, info_only)
|
|
|
|
elif re.match(r'http://weibo.com/p/230444\w+', url):
|
|
|
|
_fid = match1(url, r'http://weibo.com/p/230444(\w+)')
|
2016-06-23 22:23:17 +03:00
|
|
|
miaopai_download_by_url('http://video.weibo.com/show?fid=1034:{_fid}'.format(_fid = _fid), output_dir, merge, info_only)
|
2015-08-23 09:14:12 +03:00
|
|
|
|
|
|
|
site_info = "miaopai"
|
|
|
|
download = miaopai_download
|
2015-09-26 08:45:39 +03:00
|
|
|
download_playlist = playlist_not_supported('miaopai')
|