[generic] Support Wordpress "YouTube Video Importer" plugin
authorYen Chi Hsuan <yan12125@gmail.com>
Sat, 2 Jul 2016 13:50:17 +0000 (21:50 +0800)
committerYen Chi Hsuan <yan12125@gmail.com>
Sat, 2 Jul 2016 13:58:07 +0000 (21:58 +0800)
Closes #9938

youtube_dl/extractor/generic.py

index 7212e0edd04a00138c6f09c78b0720cad6168b05..35acb67f1e78e2fe5d9de02a7d2d46e93400e4a4 100644 (file)
@@ -1279,7 +1279,19 @@ class GenericIE(InfoExtractor):
                 'ext': 'mp4',
                 'title': 'Facebook video #10153467542406923',
             },
-        }
+        },
+        # Wordpress "YouTube Video Importer" plugin
+        {
+            'url': 'http://www.lothype.com/blue-devils-drumline-stanford-lot-2016/',
+            'info_dict': {
+                'id': 'HNTXWDXV9Is',
+                'ext': 'mp4',
+                'title': 'Blue Devils Drumline Stanford lot 2016',
+                'upload_date': '20160627',
+                'uploader_id': 'GENOCIDE8GENERAL10',
+                'uploader': 'cylus cyrus',
+            },
+        },
     ]
 
     def report_following_redirect(self, new_url):
@@ -1636,6 +1648,13 @@ class GenericIE(InfoExtractor):
         if matches:
             return _playlist_from_matches(matches, lambda m: unescapeHTML(m))
 
+        # Look for Wordpress "YouTube Video Importer" plugin
+        matches = re.findall(r'''(?x)<div[^>]+
+            class=(?P<q1>[\'"])[^\'"]*\byvii_single_video_player\b[^\'"]*(?P=q1)[^>]+
+            data-video_id=(?P<q2>[\'"])([^\'"]+)(?P=q2)''', webpage)
+        if matches:
+            return _playlist_from_matches(matches, lambda m: m[-1])
+
         # Look for embedded Dailymotion player
         matches = re.findall(
             r'<(?:(?:embed|iframe)[^>]+?src=|input[^>]+id=[\'"]dmcloudUrlEmissionSelect[\'"][^>]+value=)(["\'])(?P<url>(?:https?:)?//(?:www\.)?dailymotion\.com/(?:embed|swf)/video/.+?)\1', webpage)