From 7aa2198adf50548e3f6d23cfddf2e65f296847df Mon Sep 17 00:00:00 2001 From: "Lee, Donggu" Date: Thu, 8 Aug 2013 12:04:34 +0700 Subject: [PATCH] added ehow.com --- src/you_get/downloader/__init__.py | 1 + src/you_get/downloader/__main__.py | 1 + src/you_get/downloader/ehow.py | 38 ++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 src/you_get/downloader/ehow.py diff --git a/src/you_get/downloader/__init__.py b/src/you_get/downloader/__init__.py index 7a4e315d..0323d016 100644 --- a/src/you_get/downloader/__init__.py +++ b/src/you_get/downloader/__init__.py @@ -9,6 +9,7 @@ from .cntv import * from .coursera import * from .dailymotion import * from .douban import * +from .ehow import * from .facebook import * from .fivesing import * from .freesound import * diff --git a/src/you_get/downloader/__main__.py b/src/you_get/downloader/__main__.py index 4ce9cbe5..594825c5 100644 --- a/src/you_get/downloader/__main__.py +++ b/src/you_get/downloader/__main__.py @@ -28,6 +28,7 @@ def url_to_module(url): 'coursera': coursera, 'dailymotion': dailymotion, 'douban': douban, + 'ehow': ehow, 'facebook': facebook, 'freesound': freesound, 'google': google, diff --git a/src/you_get/downloader/ehow.py b/src/you_get/downloader/ehow.py new file mode 100644 index 00000000..adee6bfc --- /dev/null +++ b/src/you_get/downloader/ehow.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python + +__all__ = ['ehow_download'] + +from ..common import * + +def ehow_download(url, output_dir = '.', merge = True, info_only = False): + + assert re.search(r'http://www.ehow.com/video_', url), "URL you entered is not supported" + + html = get_html(url) + contentid = r1(r'', html) + vid = r1(r'"demand_ehow_videoid":"([^"]+)"', html) + assert vid + + xml = get_html('http://www.ehow.com/services/video/series.xml?demand_ehow_videoid=%s' % vid) + + from xml.dom.minidom import parseString + doc = parseString(xml) + tab = doc.getElementsByTagName('related')[0].firstChild + + for video in tab.childNodes: + if re.search(contentid, video.attributes['link'].value): + url = video.attributes['flv'].value + break + + title = video.attributes['title'].value + assert title + + type, ext, 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) + +site_info = "ehow.com" +download = ehow_download +download_playlist = playlist_not_supported('ehow') \ No newline at end of file