From acc5e90777c89c8d434a7deb22a569c8b3375918 Mon Sep 17 00:00:00 2001 From: D Low Date: Wed, 22 Apr 2015 21:59:03 +0100 Subject: [PATCH] Add extractor for vidto --- src/you_get/common.py | 3 ++- src/you_get/extractors/vidto.py | 40 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 src/you_get/extractors/vidto.py diff --git a/src/you_get/common.py b/src/you_get/common.py index c14026dc..0a8e160c 100644 --- a/src/you_get/common.py +++ b/src/you_get/common.py @@ -900,7 +900,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, qq, sohu, songtaste, soundcloud, ted, theplatform, tudou, tucao, tumblr, vid48, videobam, 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, miomio, mixcloud, mtv81, nicovideo, pptv, qq, sohu, songtaste, soundcloud, ted, theplatform, tudou, tucao, tumblr, vid48, videobam, vidto, vimeo, vine, vk, xiami, yinyuetai, youku, youtube, zhanqi video_host = r1(r'https?://([^/]+)/', url) video_url = r1(r'https?://[^/]+(.*)', url) @@ -965,6 +965,7 @@ def url_to_module(url): 'tumblr': tumblr, 'vid48': vid48, 'videobam': videobam, + 'vidto': vidto, 'vimeo': vimeo, 'vine': vine, 'vk': vk, diff --git a/src/you_get/extractors/vidto.py b/src/you_get/extractors/vidto.py new file mode 100644 index 00000000..999c3aa6 --- /dev/null +++ b/src/you_get/extractors/vidto.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python + +__all__ = ['vidto_download'] + +from ..common import * +import pdb +import time + + +def vidto_download(url, output_dir='.', merge=True, info_only=False): + html = get_content(url) + params = {} + r = re.findall( + r'type="(?:hidden|submit)?"(?:.*?)name="(.+?)"\s* value="?(.+?)">', html) + for name, value in r: + params[name] = value + data = parse.urlencode(params).encode('utf-8') + req = request.Request(url) + print("Please wait for 6 seconds...") + time.sleep(6) + print("Starting") + new_html = request.urlopen(req, data).read().decode('utf-8', 'replace') + new_stff = re.search('lnk_download" href="(.*?)">', new_html) + if(new_stff): + url = new_stff.group(1) + title = params['fname'] + type = "" + ext = "" + a, b, size = url_info(url) + print_info(site_info, title, type, size) + if not info_only: + download_urls([url], title, ext, size, output_dir, merge=merge) + else: + print("cannot find link, please review") + pdb.set_trace() + + +site_info = "vidto.me" +download = vidto_download +download_playlist = playlist_not_supported('vidto')