[pornhub:playlistbase] Skip videos from drop-down menu for all playlists (closes...
authorSergey M․ <dstftw@gmail.com>
Sun, 13 Aug 2017 00:53:02 +0000 (07:53 +0700)
committerSergey M․ <dstftw@gmail.com>
Sun, 13 Aug 2017 00:53:02 +0000 (07:53 +0700)
youtube_dl/extractor/pornhub.py

index e032817f2c18634561dda71f786782373c0b38f8..f6777cd268b4169a253253d07cb00fff226f348c 100644 (file)
@@ -227,13 +227,20 @@ class PornHubIE(InfoExtractor):
 
 class PornHubPlaylistBaseIE(InfoExtractor):
     def _extract_entries(self, webpage):
+        # Only process container div with main playlist content skipping
+        # drop-down menu that uses similar pattern for videos (see
+        # https://github.com/rg3/youtube-dl/issues/11594).
+        container = self._search_regex(
+            r'(?s)(<div[^>]+class=["\']container.+)', webpage,
+            'container', default=webpage)
+
         return [
             self.url_result(
                 'http://www.pornhub.com/%s' % video_url,
                 PornHubIE.ie_key(), video_title=title)
             for video_url, title in orderedSet(re.findall(
                 r'href="/?(view_video\.php\?.*\bviewkey=[\da-z]+[^"]*)"[^>]*\s+title="([^"]+)"',
-                webpage))
+                container))
         ]
 
     def _real_extract(self, url):
@@ -241,14 +248,7 @@ class PornHubPlaylistBaseIE(InfoExtractor):
 
         webpage = self._download_webpage(url, playlist_id)
 
-        # Only process container div with main playlist content skipping
-        # drop-down menu that uses similar pattern for videos (see
-        # https://github.com/rg3/youtube-dl/issues/11594).
-        container = self._search_regex(
-            r'(?s)(<div[^>]+class=["\']container.+)', webpage,
-            'container', default=webpage)
-
-        entries = self._extract_entries(container)
+        entries = self._extract_entries(webpage)
 
         playlist = self._parse_json(
             self._search_regex(