mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 00:27:07 -05:00 
			
		
		
		
	[pornhub] Fix extraction (closes #12007)
This commit is contained in:
		
				
					committed by
					
						
						Sergey M․
					
				
			
			
				
	
			
			
			
						parent
						
							78ef214d2d
						
					
				
				
					commit
					e64b0fca14
				
			@@ -156,11 +156,24 @@ class PornHubIE(InfoExtractor):
 | 
			
		||||
        comment_count = self._extract_count(
 | 
			
		||||
            r'All Comments\s*<span>\(([\d,.]+)\)', webpage, 'comment')
 | 
			
		||||
 | 
			
		||||
        video_variables = {}
 | 
			
		||||
        for video_variablename, quote, video_variable in re.findall(
 | 
			
		||||
                r'(player_quality_[0-9]{3,4}p[0-9a-z]+?)=\s*(["\'])(.*?)\2;', webpage):
 | 
			
		||||
            video_variables[video_variablename] = video_variable
 | 
			
		||||
 | 
			
		||||
        encoded_video_urls = []
 | 
			
		||||
        for encoded_video_url in re.findall(
 | 
			
		||||
                r'player_quality_[0-9]{3,4}p\s*=(.*?);', webpage):
 | 
			
		||||
            encoded_video_urls.append(encoded_video_url)
 | 
			
		||||
 | 
			
		||||
        # Decode the URLs 
 | 
			
		||||
        video_urls = []
 | 
			
		||||
        for quote, video_url in re.findall(
 | 
			
		||||
                r'player_quality_[0-9]{3,4}p\s*=\s*(["\'])(.+?)\1;', webpage):
 | 
			
		||||
            video_urls.append(compat_urllib_parse_unquote(re.sub(
 | 
			
		||||
                r'{0}\s*\+\s*{0}'.format(quote), '', video_url)))
 | 
			
		||||
        for url in encoded_video_urls:
 | 
			
		||||
            for varname, varval in video_variables.items():
 | 
			
		||||
                url = url.replace(varname, varval)
 | 
			
		||||
            url = url.replace('+', '')
 | 
			
		||||
            url = url.replace(' ', '')
 | 
			
		||||
            video_urls.append(url)
 | 
			
		||||
 | 
			
		||||
        if webpage.find('"encrypted":true') != -1:
 | 
			
		||||
            password = compat_urllib_parse_unquote_plus(
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user