|
@@ -13,11 +13,15 @@ from ..utils import (
|
|
|
class RUTVIE(InfoExtractor):
|
|
|
IE_DESC = 'RUTV.RU'
|
|
|
_VALID_URL = r'''(?x)
|
|
|
- https?://player\.(?:rutv\.ru|vgtrk\.com)/
|
|
|
- (?P<path>flash\d+v/container\.swf\?id=
|
|
|
- |iframe/(?P<type>swf|video|live)/id/
|
|
|
- |index/iframe/cast_id/)
|
|
|
- (?P<id>\d+)'''
|
|
|
+ https?://
|
|
|
+ (?:test)?player\.(?:rutv\.ru|vgtrk\.com)/
|
|
|
+ (?P<path>
|
|
|
+ flash\d+v/container\.swf\?id=|
|
|
|
+ iframe/(?P<type>swf|video|live)/id/|
|
|
|
+ index/iframe/cast_id/
|
|
|
+ )
|
|
|
+ (?P<id>\d+)
|
|
|
+ '''
|
|
|
|
|
|
_TESTS = [
|
|
|
{
|
|
@@ -99,17 +103,21 @@ class RUTVIE(InfoExtractor):
|
|
|
'skip_download': True,
|
|
|
},
|
|
|
},
|
|
|
+ {
|
|
|
+ 'url': 'https://testplayer.vgtrk.com/iframe/live/id/19201/showZoomBtn/false/isPlay/true/',
|
|
|
+ 'only_matching': True,
|
|
|
+ },
|
|
|
]
|
|
|
|
|
|
@classmethod
|
|
|
def _extract_url(cls, webpage):
|
|
|
mobj = re.search(
|
|
|
- r'<iframe[^>]+?src=(["\'])(?P<url>https?://player\.(?:rutv\.ru|vgtrk\.com)/(?:iframe/(?:swf|video|live)/id|index/iframe/cast_id)/.+?)\1', webpage)
|
|
|
+ r'<iframe[^>]+?src=(["\'])(?P<url>https?://(?:test)?player\.(?:rutv\.ru|vgtrk\.com)/(?:iframe/(?:swf|video|live)/id|index/iframe/cast_id)/.+?)\1', webpage)
|
|
|
if mobj:
|
|
|
return mobj.group('url')
|
|
|
|
|
|
mobj = re.search(
|
|
|
- r'<meta[^>]+?property=(["\'])og:video\1[^>]+?content=(["\'])(?P<url>https?://player\.(?:rutv\.ru|vgtrk\.com)/flash\d+v/container\.swf\?id=.+?\2)',
|
|
|
+ r'<meta[^>]+?property=(["\'])og:video\1[^>]+?content=(["\'])(?P<url>https?://(?:test)?player\.(?:rutv\.ru|vgtrk\.com)/flash\d+v/container\.swf\?id=.+?\2)',
|
|
|
webpage)
|
|
|
if mobj:
|
|
|
return mobj.group('url')
|