Merge branch 'master' of github.com:rg3/youtube-dl
This commit is contained in:
		| @@ -620,6 +620,11 @@ class GenericIE(InfoExtractor): | |||||||
|         if mobj is not None: |         if mobj is not None: | ||||||
|             return self.url_result(mobj.group('url'), 'VK') |             return self.url_result(mobj.group('url'), 'VK') | ||||||
|  |  | ||||||
|  |         # Look for embedded ivi player | ||||||
|  |         mobj = re.search(r'<embed[^>]+?src=(["\'])(?P<url>https?://(?:www\.)?ivi\.ru/video/player.+?)\1', webpage) | ||||||
|  |         if mobj is not None: | ||||||
|  |             return self.url_result(mobj.group('url'), 'Ivi') | ||||||
|  |  | ||||||
|         # Look for embedded Huffington Post player |         # Look for embedded Huffington Post player | ||||||
|         mobj = re.search( |         mobj = re.search( | ||||||
|             r'<iframe[^>]+?src=(["\'])(?P<url>https?://embed\.live\.huffingtonpost\.com/.+?)\1', webpage) |             r'<iframe[^>]+?src=(["\'])(?P<url>https?://embed\.live\.huffingtonpost\.com/.+?)\1', webpage) | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ from ..utils import ( | |||||||
| class IviIE(InfoExtractor): | class IviIE(InfoExtractor): | ||||||
|     IE_DESC = 'ivi.ru' |     IE_DESC = 'ivi.ru' | ||||||
|     IE_NAME = 'ivi' |     IE_NAME = 'ivi' | ||||||
|     _VALID_URL = r'https?://(?:www\.)?ivi\.ru/watch(?:/(?P<compilationid>[^/]+))?/(?P<videoid>\d+)' |     _VALID_URL = r'https?://(?:www\.)?ivi\.ru/(?:watch/(?:[^/]+/)?|video/player\?.*?videoId=)(?P<videoid>\d+)' | ||||||
|  |  | ||||||
|     _TESTS = [ |     _TESTS = [ | ||||||
|         # Single movie |         # Single movie | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ from ..utils import ( | |||||||
|  |  | ||||||
| class VKIE(InfoExtractor): | class VKIE(InfoExtractor): | ||||||
|     IE_NAME = 'vk.com' |     IE_NAME = 'vk.com' | ||||||
|     _VALID_URL = r'https?://vk\.com/(?:video_ext\.php\?.*?\boid=(?P<oid>-?\d+).*?\bid=(?P<id>\d+)|(?:.+?\?.*?z=)?video(?P<videoid>.*?)(?:\?|%2F|$))' |     _VALID_URL = r'https?://(?:m\.)?vk\.com/(?:video_ext\.php\?.*?\boid=(?P<oid>-?\d+).*?\bid=(?P<id>\d+)|(?:.+?\?.*?z=)?video(?P<videoid>.*?)(?:\?|%2F|$))' | ||||||
|     _NETRC_MACHINE = 'vk' |     _NETRC_MACHINE = 'vk' | ||||||
|  |  | ||||||
|     _TESTS = [ |     _TESTS = [ | ||||||
| @@ -91,6 +91,17 @@ class VKIE(InfoExtractor): | |||||||
|             }, |             }, | ||||||
|             'skip': 'Requires vk account credentials', |             'skip': 'Requires vk account credentials', | ||||||
|         }, |         }, | ||||||
|  |         { | ||||||
|  |             'url': 'http://m.vk.com/video-43215063_169084319?list=125c627d1aa1cebb83&from=wall-43215063_2566540', | ||||||
|  |             'md5': '0c45586baa71b7cb1d0784ee3f4e00a6', | ||||||
|  |             'note': 'ivi.ru embed', | ||||||
|  |             'info_dict': { | ||||||
|  |                 'id': '60690', | ||||||
|  |                 'ext': 'mp4', | ||||||
|  |                 'title': 'Книга Илая', | ||||||
|  |                 'duration': 6771, | ||||||
|  |             }, | ||||||
|  |         }, | ||||||
|     ] |     ] | ||||||
|  |  | ||||||
|     def _login(self): |     def _login(self): | ||||||
| @@ -134,6 +145,16 @@ class VKIE(InfoExtractor): | |||||||
|         if m_yt is not None: |         if m_yt is not None: | ||||||
|             self.to_screen('Youtube video detected') |             self.to_screen('Youtube video detected') | ||||||
|             return self.url_result(m_yt.group(1), 'Youtube') |             return self.url_result(m_yt.group(1), 'Youtube') | ||||||
|  |  | ||||||
|  |         m_opts = re.search(r'(?s)var\s+opts\s*=\s*({.*?});', info_page) | ||||||
|  |         if m_opts: | ||||||
|  |             m_opts_url = re.search(r"url\s*:\s*'([^']+)", m_opts.group(1)) | ||||||
|  |             if m_opts_url: | ||||||
|  |                 opts_url = m_opts_url.group(1) | ||||||
|  |                 if opts_url.startswith('//'): | ||||||
|  |                     opts_url = 'http:' + opts_url | ||||||
|  |                 return self.url_result(opts_url) | ||||||
|  |  | ||||||
|         data_json = self._search_regex(r'var vars = ({.*?});', info_page, 'vars') |         data_json = self._search_regex(r'var vars = ({.*?});', info_page, 'vars') | ||||||
|         data = json.loads(data_json) |         data = json.loads(data_json) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Petr Půlpán
					Petr Půlpán