about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexey Trofimov <dmzkrsk@gmail.com>2018-10-26 15:00:55 +0700
committerSergey M․ <dstftw@gmail.com>2018-10-29 00:21:40 +0700
commit4c237ab78768972e4d61d0b97fe9078d95dc4433 (patch)
treeca719d1ece56b43a864b0c896b5c01406ac75a61
parenta1d1c63678dcb075a8e741947c41abfee6c790a0 (diff)
downloadyoutube-dl-4c237ab78768972e4d61d0b97fe9078d95dc4433.tar.gz
youtube-dl-4c237ab78768972e4d61d0b97fe9078d95dc4433.tar.xz
youtube-dl-4c237ab78768972e4d61d0b97fe9078d95dc4433.zip
[sportbox] Fix extraction
-rw-r--r--youtube_dl/extractor/sportbox.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/youtube_dl/extractor/sportbox.py b/youtube_dl/extractor/sportbox.py
index 54497c880..9413cf27a 100644
--- a/youtube_dl/extractor/sportbox.py
+++ b/youtube_dl/extractor/sportbox.py
@@ -18,7 +18,7 @@ class SportBoxEmbedIE(InfoExtractor):
         'info_dict': {
             'id': '211355',
             'ext': 'mp4',
-            'title': '211355',
+            'title': 'В Новороссийске прошел детский турнир «Поле славы боевой»',
             'thumbnail': r're:^https?://.*\.jpg$',
             'duration': 292,
             'view_count': int,
@@ -48,9 +48,18 @@ class SportBoxEmbedIE(InfoExtractor):
 
         wjplayer_data = self._parse_json(
             self._search_regex(
-                r'(?s)wjplayer\(({.+?})\);', webpage, 'wjplayer settings'),
+                r'(?s)var\s+playerOptions\s*=\s*({.+?});', webpage, 'wjplayer settings'),
             video_id, transform_source=js_to_json)
 
+        wjplayer_data['sources'] = self._parse_json(
+            self._search_regex(
+                r'(?s)playerOptions\.sources\s*=\s*(\[.+?\]);', webpage, 'wjplayer sources'),
+            video_id, transform_source=js_to_json)
+
+        title = self._html_search_meta(
+            ['og:title', 'twitter:title'], webpage) or self._html_search_regex(
+            r'<title>(.+?)</title>', webpage, 'title', fatal=False) or video_id
+
         formats = []
         for source in wjplayer_data['sources']:
             src = source.get('src')
@@ -71,7 +80,7 @@ class SportBoxEmbedIE(InfoExtractor):
 
         return {
             'id': video_id,
-            'title': video_id,
+            'title': title,
             'thumbnail': wjplayer_data.get('poster'),
             'duration': int_or_none(wjplayer_data.get('duration')),
             'view_count': view_count,