Browse Source

[streamango] Add extractor

master-ytdl-org
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
    -0
      youtube_dl/extractor/extractors.py
  2. +54
    -0
      youtube_dl/extractor/streamango.py

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

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


+ 54
- 0
youtube_dl/extractor/streamango.py View File

@ -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