[extractor/generic:myvi] Add support for myvi embeds
This commit is contained in:
		| @@ -37,6 +37,7 @@ from .rutv import RUTVIE | |||||||
| from .tvc import TVCIE | from .tvc import TVCIE | ||||||
| from .sportbox import SportBoxEmbedIE | from .sportbox import SportBoxEmbedIE | ||||||
| from .smotri import SmotriIE | from .smotri import SmotriIE | ||||||
|  | from .myvi import MyviEmbedIE | ||||||
| from .condenast import CondeNastIE | from .condenast import CondeNastIE | ||||||
| from .udn import UDNEmbedIE | from .udn import UDNEmbedIE | ||||||
| from .senateisvp import SenateISVPIE | from .senateisvp import SenateISVPIE | ||||||
| @@ -1425,6 +1426,11 @@ class GenericIE(InfoExtractor): | |||||||
|         if smotri_url: |         if smotri_url: | ||||||
|             return self.url_result(smotri_url, 'Smotri') |             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 |         # Look for embeded soundcloud player | ||||||
|         mobj = re.search( |         mobj = re.search( | ||||||
|             r'<iframe\s+(?:[a-zA-Z0-9_-]+="[^"]+"\s+)*src="(?P<url>https?://(?:w\.)?soundcloud\.com/player[^"]+)"', |             r'<iframe\s+(?:[a-zA-Z0-9_-]+="[^"]+"\s+)*src="(?P<url>https?://(?:w\.)?soundcloud\.com/player[^"]+)"', | ||||||
|   | |||||||
| @@ -1,6 +1,8 @@ | |||||||
| # coding: utf-8 | # coding: utf-8 | ||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
|  |  | ||||||
|  | import re | ||||||
|  |  | ||||||
| from .vimple import SprutoBaseIE | from .vimple import SprutoBaseIE | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -38,6 +40,13 @@ class MyviEmbedIE(SprutoBaseIE): | |||||||
|         'only_matching': True, |         '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): |     def _real_extract(self, url): | ||||||
|         video_id = self._match_id(url) |         video_id = self._match_id(url) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․