about summary refs log tree commit diff
path: root/youtube_dl/extractor/fczenit.py
diff options
context:
space:
mode:
authorkaspi <je326@hotmail.com>2015-10-12 01:25:57 -0400
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2015-10-13 22:31:12 +0200
commit3dc582e5ea69af4ad7f51d30c1d87cf93aa6b72b (patch)
tree0ebc934bc3caeadf787b34b51e0a23d5f64e1482 /youtube_dl/extractor/fczenit.py
parent506e261d2073d8c00d5b43d272e8173cb0d63728 (diff)
downloadyoutube-dl-3dc582e5ea69af4ad7f51d30c1d87cf93aa6b72b.tar.gz
youtube-dl-3dc582e5ea69af4ad7f51d30c1d87cf93aa6b72b.tar.xz
youtube-dl-3dc582e5ea69af4ad7f51d30c1d87cf93aa6b72b.zip
[fczenit] Add extractor
Closes #7143.
Diffstat (limited to 'youtube_dl/extractor/fczenit.py')
-rw-r--r--youtube_dl/extractor/fczenit.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/youtube_dl/extractor/fczenit.py b/youtube_dl/extractor/fczenit.py
new file mode 100644
index 000000000..f1f150ef2
--- /dev/null
+++ b/youtube_dl/extractor/fczenit.py
@@ -0,0 +1,41 @@
+# coding: utf-8
+from __future__ import unicode_literals
+
+import re
+
+from .common import InfoExtractor
+
+
+class FczenitIE(InfoExtractor):
+    _VALID_URL = r'https?://(?:www\.)?fc-zenit\.ru/video/gl(?P<id>[0-9]+)'
+    _TEST = {
+        'url': 'http://fc-zenit.ru/video/gl6785/',
+        'md5': '458bacc24549173fe5a5aa29174a5606',
+        'info_dict': {
+            'id': '6785',
+            'ext': 'mp4',
+            'title': '«Зенит-ТВ»: как Олег Шатов играл против «Урала»',
+        },
+    }
+
+    def _real_extract(self, url):
+        video_id = self._match_id(url)
+        webpage = self._download_webpage(url, video_id)
+
+        video_title = self._html_search_regex(r'<div class=\"photoalbum__title\">([^<]+)', webpage, 'title')
+
+        bitrates_raw = self._html_search_regex(r'bitrates:.*\n(.*)\]', webpage, 'video URL')
+        bitrates = re.findall(r'url:.?\'(.+?)\'.*?bitrate:.?([0-9]{3}?)', bitrates_raw)
+
+        formats = [{
+            'url': furl,
+            'tbr': tbr,
+        } for furl, tbr in bitrates]
+
+        self._sort_formats(formats)
+
+        return {
+            'id': video_id,
+            'title': video_title,
+            'formats': formats,
+        }