diff options
| -rw-r--r-- | test/tests.json | 9 | ||||
| -rw-r--r-- | youtube_dl/extractor/__init__.py | 2 | ||||
| -rw-r--r-- | youtube_dl/extractor/wimp.py | 28 | 
3 files changed, 39 insertions, 0 deletions
| diff --git a/test/tests.json b/test/tests.json index aa540792e..ebc7a123c 100644 --- a/test/tests.json +++ b/test/tests.json @@ -705,5 +705,14 @@          "title": "Attorney General Eric Holder on Voting Rights Act Decision"      },      "skip": "Requires rtmpdump" +  }, +  { +    "name": "Wimp", +    "url": "http://www.wimp.com/deerfence/", +    "file": "deerfence.flv", +    "md5": "8b215e2e0168c6081a1cf84b2846a2b5", +    "info_dict": { +        "title": "Watch Till End: Herd of deer jump over a fence." +    }    }  ] diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index eaa213609..2750fc8f9 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -50,6 +50,7 @@ from .vbox7 import Vbox7IE  from .vevo import VevoIE  from .vimeo import VimeoIE  from .vine import VineIE +from .wimp import WimpIE  from .worldstarhiphop import WorldStarHipHopIE  from .xhamster import XHamsterIE  from .xnxx import XNXXIE @@ -134,6 +135,7 @@ def gen_extractors():          JukeboxIE(),          TudouIE(),          CSpanIE(), +        WimpIE(),          GenericIE()      ] diff --git a/youtube_dl/extractor/wimp.py b/youtube_dl/extractor/wimp.py new file mode 100644 index 000000000..84f065a3d --- /dev/null +++ b/youtube_dl/extractor/wimp.py @@ -0,0 +1,28 @@ +import re +import base64 + +from .common import InfoExtractor + + +class WimpIE(InfoExtractor): +    _VALID_URL = r'(?:http://)?(?:www\.)?wimp\.com/([^/]+)/' + +    def _real_extract(self, url): +        mobj = re.match(self._VALID_URL, url) +        video_id = mobj.group(1) +        webpage = self._download_webpage(url, video_id) +        title = self._search_regex(r'<meta name="description" content="(.+?)" />',webpage, 'video title') +        thumbnail_url = self._search_regex(r'<meta property="og\:image" content="(.+?)" />', webpage,'video thumbnail') +        googleString = self._search_regex("googleCode = '(.*?)'", webpage, 'file url') +        googleString = base64.b64decode(googleString).decode('ascii') +        final_url = self._search_regex('","(.*?)"', googleString,'final video url') +        ext = final_url.rpartition(u'.')[2] + +        return [{ +            'id':        video_id, +            'url':       final_url, +            'ext':       ext, +            'title':     title, +            'thumbnail': thumbnail_url, +        }] + | 
