+from __future__ import unicode_literals
+
import datetime
import json
import re
class BlinkxIE(InfoExtractor):
_VALID_URL = r'^(?:https?://(?:www\.)blinkx\.com/#?ce/|blinkx:)(?P<id>[^?]+)'
- _IE_NAME = u'blinkx'
+ _IE_NAME = 'blinkx'
_TEST = {
- u'url': u'http://www.blinkx.com/ce/8aQUy7GVFYgFzpKhT0oqsilwOGFRVXk3R1ZGWWdGenBLaFQwb3FzaWx3OGFRVXk3R1ZGWWdGenB',
- u'file': u'8aQUy7GV.mp4',
- u'md5': u'2e9a07364af40163a908edbf10bb2492',
- u'info_dict': {
- u"title": u"Police Car Rolls Away",
- u"uploader": u"stupidvideos.com",
- u"upload_date": u"20131215",
- u"description": u"A police car gently rolls away from a fight. Maybe it felt weird being around a confrontation and just had to get out of there!",
- u"duration": 14.886,
- u"thumbnails": [{
+ 'url': 'http://www.blinkx.com/ce/8aQUy7GVFYgFzpKhT0oqsilwOGFRVXk3R1ZGWWdGenBLaFQwb3FzaWx3OGFRVXk3R1ZGWWdGenB',
+ 'file': '8aQUy7GV.mp4',
+ 'md5': '2e9a07364af40163a908edbf10bb2492',
+ 'info_dict': {
+ "title": "Police Car Rolls Away",
+ "uploader": "stupidvideos.com",
+ "upload_date": "20131215",
+ "description": "A police car gently rolls away from a fight. Maybe it felt weird being around a confrontation and just had to get out of there!",
+ "duration": 14.886,
+ "thumbnails": [{
"width": 100,
"height": 76,
"url": "http://cdn.blinkx.com/stream/b/41/StupidVideos/20131215/1873969261/1873969261_tn_0.jpg",
},
}
- def _real_extract(self, url):
- m = re.match(self._VALID_URL, url)
+ def _real_extract(self, rl):
+ m = re.match(self._VALID_URL, rl)
video_id = m.group('id')
display_id = video_id[:8]
api_url = (u'https://apib4.blinkx.com/api.php?action=play_video&' +
- u'video=%s' % video_id)
+ 'video=%s' % video_id)
data_json = self._download_webpage(api_url, display_id)
data = json.loads(data_json)['api']['results'][0]
dt = datetime.datetime.fromtimestamp(data['pubdate_epoch'])
- upload_date = dt.strftime('%Y%m%d')
+ pload_date = dt.strftime('%Y%m%d')
duration = None
thumbnails = []
'title': data['title'],
'formats': formats,
'uploader': data['channel_name'],
- 'upload_date': upload_date,
+ 'upload_date': pload_date,
'description': data.get('description'),
'thumbnails': thumbnails,
'duration': duration,
+from __future__ import unicode_literals
+
import re
import json
r'ligthboxvideo/base-de-medias/webtv/(.*)')
_TEST = {
- u'url': (u'http://www.defense.gouv.fr/layout/set/ligthboxvideo/'
- u'base-de-medias/webtv/attaque-chimique-syrienne-du-21-aout-2013-1'),
- u'file': u'11213.mp4',
- u'md5': u'75bba6124da7e63d2d60b5244ec9430c',
+ 'url': 'http://www.defense.gouv.fr/layout/set/ligthboxvideo/base-de-medias/webtv/attaque-chimique-syrienne-du-21-aout-2013-1',
+ 'file': '11213.mp4',
+ 'md5': '75bba6124da7e63d2d60b5244ec9430c',
"info_dict": {
"title": "attaque-chimique-syrienne-du-21-aout-2013-1"
}