mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 05:37:07 -05:00 
			
		
		
		
	[pornhub] Detect private videos and emit an error message (Closes #4764)
This commit is contained in:
		@@ -10,6 +10,7 @@ from ..compat import (
 | 
				
			|||||||
    compat_urllib_request,
 | 
					    compat_urllib_request,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
from ..utils import (
 | 
					from ..utils import (
 | 
				
			||||||
 | 
					    ExtractorError,
 | 
				
			||||||
    str_to_int,
 | 
					    str_to_int,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
from ..aes import (
 | 
					from ..aes import (
 | 
				
			||||||
@@ -44,6 +45,15 @@ class PornHubIE(InfoExtractor):
 | 
				
			|||||||
        req.add_header('Cookie', 'age_verified=1')
 | 
					        req.add_header('Cookie', 'age_verified=1')
 | 
				
			||||||
        webpage = self._download_webpage(req, video_id)
 | 
					        webpage = self._download_webpage(req, video_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        error_msg = self._html_search_regex(
 | 
				
			||||||
 | 
					            r'(?s)<div class="userMessageSection[^"]*".*?>(.*?)</div>',
 | 
				
			||||||
 | 
					            webpage, 'error message', default=None)
 | 
				
			||||||
 | 
					        if error_msg:
 | 
				
			||||||
 | 
					            error_msg = re.sub(r'\s+', ' ', error_msg)
 | 
				
			||||||
 | 
					            raise ExtractorError(
 | 
				
			||||||
 | 
					                'PornHub said: %s' % error_msg,
 | 
				
			||||||
 | 
					                expected=True, video_id=video_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        video_title = self._html_search_regex(r'<h1 [^>]+>([^<]+)', webpage, 'title')
 | 
					        video_title = self._html_search_regex(r'<h1 [^>]+>([^<]+)', webpage, 'title')
 | 
				
			||||||
        video_uploader = self._html_search_regex(
 | 
					        video_uploader = self._html_search_regex(
 | 
				
			||||||
            r'(?s)From: .+?<(?:a href="/users/|a href="/channels/|<span class="username)[^>]+>(.+?)<',
 | 
					            r'(?s)From: .+?<(?:a href="/users/|a href="/channels/|<span class="username)[^>]+>(.+?)<',
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user