Browse Source

[streamango] Add extractor

master
Marvin Ewald 8 years ago
committed by Sergey M․
parent
commit
4db79fa1bc
No known key found for this signature in database GPG Key ID: 2C393E0F18A9236D
2 changed files with 55 additions and 0 deletions
  1. 1
      youtube_dl/extractor/extractors.py
  2. 54
      youtube_dl/extractor/streamango.py

1
youtube_dl/extractor/extractors.py

@ -939,6 +939,7 @@ from .srmediathek import SRMediathekIE
from .stanfordoc import StanfordOpenClassroomIE from .stanfordoc import StanfordOpenClassroomIE
from .steam import SteamIE from .steam import SteamIE
from .streamable import StreamableIE from .streamable import StreamableIE
from .streamango import StreamangoIE
from .streamcloud import StreamcloudIE from .streamcloud import StreamcloudIE
from .streamcz import StreamCZIE from .streamcz import StreamCZIE
from .streetvoice import StreetVoiceIE from .streetvoice import StreetVoiceIE

54
youtube_dl/extractor/streamango.py

@ -0,0 +1,54 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
class StreamangoIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?streamango\.com/(?:f|embed)/(?P<id>.+?)/(?:.+)'
_TESTS = [{
'url': 'https://streamango.com/f/clapasobsptpkdfe/20170315_150006_mp4',
'md5': 'e992787515a182f55e38fc97588d802a',
'info_dict': {
'id': 'clapasobsptpkdfe',
'ext': 'mp4',
'title': '20170315_150006.mp4',
'url': r're:https://streamango\.com/v/d/clapasobsptpkdfe~[0-9]{10}~(?:[0-9]+\.){3}[0-9]+~.{8}/720',
}
}, {
'url': 'https://streamango.com/embed/clapasobsptpkdfe/20170315_150006_mp4',
'only_matching': True,
}]
def _real_extract(self, url):
def extract_url(urltype):
return self._search_regex(
r'type\s*:\s*["\']{}["\']\s*,\s*src\s*:\s*["\'](?P<url>.+?)["\'].*'.format(urltype),
webpage, 'video URL', group='url')
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
title = self._og_search_title(webpage)
url = 'https:' + extract_url('video/mp4')
dashurl = extract_url(r'application/dash\+xml')
formats = [{
'url': url,
'ext': 'mp4',
'width': 1280,
'height': 720,
'format_id': 'mp4',
}]
formats.extend(self._extract_mpd_formats(
dashurl, video_id, mpd_id='dash', fatal=False))
self._sort_formats(formats)
return {
'id': video_id,
'url': url,
'title': title,
'formats': formats,
}
Loading…
Cancel
Save