3 from .common
import InfoExtractor
10 class TassIE(InfoExtractor
):
12 _VALID_URL
= r
'https?://(?:tass\.ru|itar-tass\.com)/[^/]+/(?P<id>\d+)'
15 'url': 'http://tass.ru/obschestvo/1586870',
16 'md5': '3b4cdd011bc59174596b6145cda474a4',
20 'title': 'Посетителям московского зоопарка показали красную панду',
21 'description': 'Приехавшую из Дублина Зейну можно увидеть в павильоне "Кошки тропиков"',
22 'thumbnail': r
're:^https?://.*\.jpg$',
26 'url': 'http://itar-tass.com/obschestvo/1600009',
27 'only_matching': True,
31 def _real_extract(self
, url
):
32 video_id
= self
._match
_id
(url
)
34 webpage
= self
._download
_webpage
(url
, video_id
)
36 sources
= json
.loads(js_to_json(self
._search
_regex
(
37 r
'(?s)sources\s*:\s*(\[.+?\])', webpage
, 'sources')))
39 quality
= qualities(['sd', 'hd'])
42 for source
in sources
:
43 video_url
= source
.get('file')
44 if not video_url
or not video_url
.startswith('http') or not video_url
.endswith('.mp4'):
46 label
= source
.get('label')
50 'quality': quality(label
),
55 'title': self
._og
_search
_title
(webpage
),
56 'description': self
._og
_search
_description
(webpage
),
57 'thumbnail': self
._og
_search
_thumbnail
(webpage
),