From 01a137b0022f0aa4b3419af3008256bf15b93505 Mon Sep 17 00:00:00 2001 From: cnbeining Date: Sun, 23 Aug 2015 02:14:12 -0400 Subject: [PATCH] Add Weibo Miaopai support --- README.md | 1 + src/you_get/common.py | 3 ++- src/you_get/extractors/__init__.py | 1 + src/you_get/extractors/miaopai.py | 36 ++++++++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 src/you_get/extractors/miaopai.py diff --git a/README.md b/README.md index 46bf5fd0..bcec3fc7 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ Fork me on GitHub: * QianMo (阡陌视频) * QQ (腾讯视频) * Sina (新浪视频) +* Weibo Miaopai (新浪微博秒拍视频) * Sohu (搜狐视频) * SongTaste * SoundCloud diff --git a/src/you_get/common.py b/src/you_get/common.py index ed305518..dde25b38 100755 --- a/src/you_get/common.py +++ b/src/you_get/common.py @@ -922,7 +922,7 @@ def script_main(script_name, download, download_playlist = None): sys.exit(1) def url_to_module(url): - from .extractors import netease, w56, acfun, baidu, baomihua, bilibili, blip, catfun, cntv, cbs, coursera, dailymotion, dongting, douban, douyutv, ehow, facebook, freesound, google, sina, ifeng, alive, instagram, iqiyi, joy, jpopsuki, khan, ku6, kugou, kuwo, letv, lizhi, magisto, miomio, mixcloud, mtv81, nicovideo, pptv, qianmo, qq, sohu, songtaste, soundcloud, ted, theplatform, tudou, tucao, tumblr, twitter, vid48, videobam, vidto, vimeo, vine, vk, xiami, yinyuetai, youku, youtube, zhanqi + from .extractors import netease, w56, acfun, baidu, baomihua, bilibili, blip, catfun, cntv, cbs, coursera, dailymotion, dongting, douban, douyutv, ehow, facebook, freesound, google, sina, ifeng, alive, instagram, iqiyi, joy, jpopsuki, khan, ku6, kugou, kuwo, letv, lizhi, magisto, miaopai, miomio, mixcloud, mtv81, nicovideo, pptv, qianmo, qq, sohu, songtaste, soundcloud, ted, theplatform, tudou, tucao, tumblr, twitter, vid48, videobam, vidto, vimeo, vine, vk, xiami, yinyuetai, youku, youtube, zhanqi video_host = r1(r'https?://([^/]+)/', url) video_url = r1(r'https?://[^/]+(.*)', url) @@ -991,6 +991,7 @@ def url_to_module(url): 'videobam': videobam, 'vidto': vidto, 'vimeo': vimeo, + 'weibo': miaopai, 'vine': vine, 'vk': vk, 'xiami': xiami, diff --git a/src/you_get/extractors/__init__.py b/src/you_get/extractors/__init__.py index 5abc0d8c..39256d11 100755 --- a/src/you_get/extractors/__init__.py +++ b/src/you_get/extractors/__init__.py @@ -27,6 +27,7 @@ from .kuwo import * from .letv import * from .lizhi import * from .magisto import * +from .miaopai import * from .miomio import * from .mixcloud import * from .mtv81 import * diff --git a/src/you_get/extractors/miaopai.py b/src/you_get/extractors/miaopai.py new file mode 100644 index 00000000..912536ac --- /dev/null +++ b/src/you_get/extractors/miaopai.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python + +__all__ = ['miaopai_download'] + +from ..common import * +import urllib.error + +def miaopai_download(url, output_dir = '.', merge = False, info_only = False): + '''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 + + #grab download URL + a = get_content(webpage_url, headers= fake_headers_mobile , decoded=True) + url = match1(a, r'