Add IGNIE

Only for www.ign.com, it doesn't support country specific versions (like es.ign.com)
pull/8/head
Jaime Marquínez Ferrándiz 12 years ago
parent 33f6830fd5
commit 2ef648d3d3

@ -27,6 +27,7 @@ from .googlesearch import GoogleSearchIE
from .hotnewhiphop import HotNewHipHopIE from .hotnewhiphop import HotNewHipHopIE
from .howcast import HowcastIE from .howcast import HowcastIE
from .hypem import HypemIE from .hypem import HypemIE
from .ign import IGNIE
from .ina import InaIE from .ina import InaIE
from .infoq import InfoQIE from .infoq import InfoQIE
from .instagram import InstagramIE from .instagram import InstagramIE

@ -0,0 +1,45 @@
import re
import json
from .common import InfoExtractor
from ..utils import (
determine_ext,
)
class IGNIE(InfoExtractor):
_VALID_URL = r'http://www.ign.com/videos/.+/(?P<name>.+)'
IE_NAME = u'ign.com'
_TEST = {
u'url': u'http://www.ign.com/videos/2013/06/05/the-last-of-us-review',
u'file': u'8f862beef863986b2785559b9e1aa599.mp4',
u'md5': u'eac8bdc1890980122c3b66f14bdd02e9',
u'info_dict': {
u'title': u'The Last of Us Review',
u'description': u'md5:c8946d4260a4d43a00d5ae8ed998870c',
}
}
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
name = mobj.group('name')
config_url = url + '.config'
webpage = self._download_webpage(url, name)
config = json.loads(self._download_webpage(config_url, name, u'Downloading video info'))
self.report_extraction(name)
description = self._html_search_regex(r'<span class="page-object-description">(.+?)</span>',
webpage, 'video description', flags=re.DOTALL)
media = config['playlist']['media']
video_url = media['url']
return {'id': media['metadata']['videoId'],
'url': video_url,
'ext': determine_ext(video_url),
'title': media['metadata']['title'],
'description': description,
'thumbnail': media['poster'][0]['url'].replace('{size}', 'small'),
}
Loading…
Cancel
Save