[aparat] Fix extraction
authorAli Irani <irani.2007@gmail.com>
Wed, 5 Sep 2018 21:38:38 +0000 (02:08 +0430)
committerSergey M․ <dstftw@gmail.com>
Mon, 29 Oct 2018 16:31:24 +0000 (23:31 +0700)
youtube_dl/extractor/aparat.py

index 6eb8bbb6e989d0310a0b447ef1928ba081567a6f..780439e17f11d34cf272878baff6368d63ecf090 100644 (file)
@@ -34,32 +34,32 @@ class AparatIE(InfoExtractor):
             'http://www.aparat.com/video/video/embed/vt/frame/showvideo/yes/videohash/' + video_id,
             video_id)
 
-        title = self._search_regex(r'\s+title:\s*"([^"]+)"', webpage, 'title')
-
         file_list = self._parse_json(
             self._search_regex(
-                r'fileList\s*=\s*JSON\.parse\(\'([^\']+)\'\)', webpage,
+                r'var options\s*=\s*JSON\.parse\(\'([^\']+)\'\)', webpage,
                 'file list'),
             video_id)
 
+        title = file_list['plugins']['sabaPlayerPlugin']['title']
+
         formats = []
-        for item in file_list[0]:
-            file_url = url_or_none(item.get('file'))
-            if not file_url:
-                continue
-            ext = mimetype2ext(item.get('type'))
-            label = item.get('label')
-            formats.append({
-                'url': file_url,
-                'ext': ext,
-                'format_id': label or ext,
-                'height': int_or_none(self._search_regex(
-                    r'(\d+)[pP]', label or '', 'height', default=None)),
-            })
+        for list in file_list['plugins']['sabaPlayerPlugin']['multiSRC']:
+            for item in list:
+                file_url = url_or_none(item.get('src'))
+                if not file_url:
+                    continue
+                ext = mimetype2ext(item.get('type'))
+                label = item.get('label')
+                formats.append({
+                    'url': file_url,
+                    'ext': ext,
+                    'format_id': label or ext,
+                    'height': int_or_none(self._search_regex(
+                        r'(\d+)[pP]', label or '', 'height', default=None)),
+                })
         self._sort_formats(formats)
 
-        thumbnail = self._search_regex(
-            r'image:\s*"([^"]+)"', webpage, 'thumbnail', fatal=False)
+        thumbnail = file_list['poster']
 
         return {
             'id': video_id,