[funimation] fix extraction(closes #14089)
This commit is contained in:
		
							parent
							
								
									10026329c2
								
							
						
					
					
						commit
						929ba3997b
					
				
					 1 changed files with 8 additions and 3 deletions
				
			
		| 
						 | 
					@ -1,6 +1,9 @@
 | 
				
			||||||
# coding: utf-8
 | 
					# coding: utf-8
 | 
				
			||||||
from __future__ import unicode_literals
 | 
					from __future__ import unicode_literals
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import random
 | 
				
			||||||
 | 
					import string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .common import InfoExtractor
 | 
					from .common import InfoExtractor
 | 
				
			||||||
from ..compat import compat_HTTPError
 | 
					from ..compat import compat_HTTPError
 | 
				
			||||||
from ..utils import (
 | 
					from ..utils import (
 | 
				
			||||||
| 
						 | 
					@ -87,7 +90,7 @@ class FunimationIE(InfoExtractor):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        video_id = title_data.get('id') or self._search_regex([
 | 
					        video_id = title_data.get('id') or self._search_regex([
 | 
				
			||||||
            r"KANE_customdimensions.videoID\s*=\s*'(\d+)';",
 | 
					            r"KANE_customdimensions.videoID\s*=\s*'(\d+)';",
 | 
				
			||||||
            r'<iframe[^>]+src="/player/(\d+)"',
 | 
					            r'<iframe[^>]+src="/player/(\d+)',
 | 
				
			||||||
        ], webpage, 'video_id', default=None)
 | 
					        ], webpage, 'video_id', default=None)
 | 
				
			||||||
        if not video_id:
 | 
					        if not video_id:
 | 
				
			||||||
            player_url = self._html_search_meta([
 | 
					            player_url = self._html_search_meta([
 | 
				
			||||||
| 
						 | 
					@ -108,8 +111,10 @@ class FunimationIE(InfoExtractor):
 | 
				
			||||||
            if self._TOKEN:
 | 
					            if self._TOKEN:
 | 
				
			||||||
                headers['Authorization'] = 'Token %s' % self._TOKEN
 | 
					                headers['Authorization'] = 'Token %s' % self._TOKEN
 | 
				
			||||||
            sources = self._download_json(
 | 
					            sources = self._download_json(
 | 
				
			||||||
                'https://prod-api-funimationnow.dadcdigital.com/api/source/catalog/video/%s/signed/' % video_id,
 | 
					                'https://www.funimation.com/api/showexperience/%s/' % video_id,
 | 
				
			||||||
                video_id, headers=headers)['items']
 | 
					                video_id, headers=headers, query={
 | 
				
			||||||
 | 
					                    'pinst_id': ''.join([random.choice(string.digits + string.ascii_letters) for _ in range(8)]),
 | 
				
			||||||
 | 
					                })['items']
 | 
				
			||||||
        except ExtractorError as e:
 | 
					        except ExtractorError as e:
 | 
				
			||||||
            if isinstance(e.cause, compat_HTTPError) and e.cause.code == 403:
 | 
					            if isinstance(e.cause, compat_HTTPError) and e.cause.code == 403:
 | 
				
			||||||
                error = self._parse_json(e.cause.read(), video_id)['errors'][0]
 | 
					                error = self._parse_json(e.cause.read(), video_id)['errors'][0]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue