mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[odnoklassniki] add support for Schemeless embed extraction
This commit is contained in:
		| @@ -118,6 +118,7 @@ from .foxnews import FoxNewsIE | ||||
| from .viqeo import ViqeoIE | ||||
| from .expressen import ExpressenIE | ||||
| from .zype import ZypeIE | ||||
| from .odnoklassniki import OdnoklassnikiIE | ||||
|  | ||||
|  | ||||
| class GenericIE(InfoExtractor): | ||||
| @@ -2627,9 +2628,9 @@ class GenericIE(InfoExtractor): | ||||
|             return self.url_result(mobj.group('url'), 'VK') | ||||
|  | ||||
|         # Look for embedded Odnoklassniki player | ||||
|         mobj = re.search(r'<iframe[^>]+?src=(["\'])(?P<url>https?://(?:odnoklassniki|ok)\.ru/videoembed/.+?)\1', webpage) | ||||
|         if mobj is not None: | ||||
|             return self.url_result(mobj.group('url'), 'Odnoklassniki') | ||||
|         odnoklassniki_url = OdnoklassnikiIE._extract_url(webpage) | ||||
|         if odnoklassniki_url: | ||||
|             return self.url_result(odnoklassniki_url, OdnoklassnikiIE.ie_key()) | ||||
|  | ||||
|         # Look for embedded ivi player | ||||
|         mobj = re.search(r'<embed[^>]+?src=(["\'])(?P<url>https?://(?:www\.)?ivi\.ru/video/player.+?)\1', webpage) | ||||
|   | ||||
| @@ -1,6 +1,8 @@ | ||||
| # coding: utf-8 | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| import re | ||||
|  | ||||
| from .common import InfoExtractor | ||||
| from ..compat import ( | ||||
|     compat_etree_fromstring, | ||||
| @@ -121,6 +123,13 @@ class OdnoklassnikiIE(InfoExtractor): | ||||
|         'only_matching': True, | ||||
|     }] | ||||
|  | ||||
|     @staticmethod | ||||
|     def _extract_url(webpage): | ||||
|         mobj = re.search( | ||||
|             r'<iframe[^>]+src=(["\'])(?P<url>(?:https?:)?//(?:odnoklassniki|ok)\.ru/videoembed/.+?)\1', webpage) | ||||
|         if mobj: | ||||
|             return mobj.group('url') | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         start_time = int_or_none(compat_parse_qs( | ||||
|             compat_urllib_parse_urlparse(url).query).get('fromTime', [None])[0]) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user