Browse Source

Add an extractor for bambuser.com (#1702)

rtmp_test
Jaime Marquínez Ferrándiz 11 years ago
parent
commit
72a5b4f702
2 changed files with 43 additions and 0 deletions
  1. +1
    -0
      youtube_dl/extractor/__init__.py
  2. +42
    -0
      youtube_dl/extractor/bambuser.py

+ 1
- 0
youtube_dl/extractor/__init__.py View File

@ -9,6 +9,7 @@ from .arte import (
ArteTVFutureIE, ArteTVFutureIE,
) )
from .auengine import AUEngineIE from .auengine import AUEngineIE
from .bambuser import BambuserIE
from .bandcamp import BandcampIE from .bandcamp import BandcampIE
from .bliptv import BlipTVIE, BlipTVUserIE from .bliptv import BlipTVIE, BlipTVUserIE
from .bloomberg import BloombergIE from .bloomberg import BloombergIE


+ 42
- 0
youtube_dl/extractor/bambuser.py View File

@ -0,0 +1,42 @@
import re
import json
from .common import InfoExtractor
class BambuserIE(InfoExtractor):
_VALID_URL = r'https?://bambuser\.com/v/(?P<id>\d+)'
_API_KEY = '005f64509e19a868399060af746a00aa'
_TEST = {
u'url': u'http://bambuser.com/v/4050584',
u'md5': u'fba8f7693e48fd4e8641b3fd5539a641',
u'info_dict': {
u'id': u'4050584',
u'ext': u'flv',
u'title': u'Education engineering days - lightning talks',
u'duration': 3741,
u'uploader': u'pixelversity',
u'uploader_id': u'344706',
},
}
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
info_url = ('http://player-c.api.bambuser.com/getVideo.json?'
'&api_key=%s&vid=%s' % (self._API_KEY, video_id))
info_json = self._download_webpage(info_url, video_id)
info = json.loads(info_json)['result']
return {
'id': video_id,
'title': info['title'],
'url': info['url'],
'thumbnail': info['preview'],
'duration': int(info['length']),
'view_count': int(info['views_total']),
'uploader': info['username'],
'uploader_id': info['uid'],
}

Loading…
Cancel
Save