Browse Source

[extractor/generic:myvi] Add support for myvi embeds

totalwebcasting
Sergey M․ 10 years ago
parent
commit
e6c2d9ad29
2 changed files with 15 additions and 0 deletions
  1. +6
    -0
      youtube_dl/extractor/generic.py
  2. +9
    -0
      youtube_dl/extractor/myvi.py

+ 6
- 0
youtube_dl/extractor/generic.py View File

@ -37,6 +37,7 @@ from .rutv import RUTVIE
from .tvc import TVCIE
from .sportbox import SportBoxEmbedIE
from .smotri import SmotriIE
from .myvi import MyviEmbedIE
from .condenast import CondeNastIE
from .udn import UDNEmbedIE
from .senateisvp import SenateISVPIE
@ -1425,6 +1426,11 @@ class GenericIE(InfoExtractor):
if smotri_url:
return self.url_result(smotri_url, 'Smotri')
# Look for embedded Myvi.ru player
myvi_url = MyviEmbedIE._extract_url(webpage)
if myvi_url:
return self.url_result(myvi_url)
# Look for embeded soundcloud player
mobj = re.search(
r'<iframe\s+(?:[a-zA-Z0-9_-]+="[^"]+"\s+)*src="(?P<url>https?://(?:w\.)?soundcloud\.com/player[^"]+)"',


+ 9
- 0
youtube_dl/extractor/myvi.py View File

@ -1,6 +1,8 @@
# coding: utf-8
from __future__ import unicode_literals
import re
from .vimple import SprutoBaseIE
@ -38,6 +40,13 @@ class MyviEmbedIE(SprutoBaseIE):
'only_matching': True,
}]
@classmethod
def _extract_url(cls, webpage):
mobj = re.search(
r'<iframe[^>]+?src=(["\'])(?P<url>(?:https?:)?//myvi\.(?:ru/player|tv)/embed/html/[^"]+)\1', webpage)
if mobj:
return mobj.group('url')
def _real_extract(self, url):
video_id = self._match_id(url)


Loading…
Cancel
Save