]> Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/ebaumsworld.py
877113d63a7261a284a628a06908c466d446613d
[youtubedl] / youtube_dl / extractor / ebaumsworld.py
1 import re
2
3 from .common import InfoExtractor
4 from ..utils import determine_ext
5
6
7 class EbaumsWorldIE(InfoExtractor):
8 _VALID_URL = r'https?://www\.ebaumsworld\.com/video/watch/(?P<id>\d+)'
9
10 _TEST = {
11 u'url': u'http://www.ebaumsworld.com/video/watch/83367677/',
12 u'file': u'83367677.mp4',
13 u'info_dict': {
14 u'title': u'A Giant Python Opens The Door',
15 u'description': u'This is how nightmares start...',
16 u'uploader': u'jihadpizza',
17 },
18 }
19
20 def _real_extract(self, url):
21 mobj = re.match(self._VALID_URL, url)
22 video_id = mobj.group('id')
23 config = self._download_xml(
24 'http://www.ebaumsworld.com/video/player/%s' % video_id, video_id)
25 video_url = config.find('file').text
26
27 return {
28 'id': video_id,
29 'title': config.find('title').text,
30 'url': video_url,
31 'ext': determine_ext(video_url),
32 'description': config.find('description').text,
33 'thumbnail': config.find('image').text,
34 'uploader': config.find('username').text,
35 }