[niconico] Improve uploader metadata extraction robustness (closes #14135)
This commit is contained in:
		
							parent
							
								
									7e721e35da
								
							
						
					
					
						commit
						aaab8c5e71
					
				
					 1 changed files with 25 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -40,7 +40,7 @@ class NiconicoIE(InfoExtractor):
 | 
			
		|||
            'uploader': 'takuya0301',
 | 
			
		||||
            'uploader_id': '2698420',
 | 
			
		||||
            'upload_date': '20131123',
 | 
			
		||||
            'timestamp': 1385182762,
 | 
			
		||||
            'timestamp': int,  # timestamp is unstable
 | 
			
		||||
            'description': '(c) copyright 2008, Blender Foundation / www.bigbuckbunny.org',
 | 
			
		||||
            'duration': 33,
 | 
			
		||||
            'view_count': int,
 | 
			
		||||
| 
						 | 
				
			
			@ -115,8 +115,8 @@ class NiconicoIE(InfoExtractor):
 | 
			
		|||
        'skip': 'Requires an account',
 | 
			
		||||
    }, {
 | 
			
		||||
        # "New" HTML5 video
 | 
			
		||||
        # md5 is unstable
 | 
			
		||||
        'url': 'http://www.nicovideo.jp/watch/sm31464864',
 | 
			
		||||
        'md5': '351647b4917660986dc0fa8864085135',
 | 
			
		||||
        'info_dict': {
 | 
			
		||||
            'id': 'sm31464864',
 | 
			
		||||
            'ext': 'mp4',
 | 
			
		||||
| 
						 | 
				
			
			@ -124,7 +124,7 @@ class NiconicoIE(InfoExtractor):
 | 
			
		|||
            'description': 'md5:e52974af9a96e739196b2c1ca72b5feb',
 | 
			
		||||
            'timestamp': 1498514060,
 | 
			
		||||
            'upload_date': '20170626',
 | 
			
		||||
            'uploader': 'ゲス',
 | 
			
		||||
            'uploader': 'ゲスト',
 | 
			
		||||
            'uploader_id': '40826363',
 | 
			
		||||
            'thumbnail': r're:https?://.*',
 | 
			
		||||
            'duration': 198,
 | 
			
		||||
| 
						 | 
				
			
			@ -132,6 +132,25 @@ class NiconicoIE(InfoExtractor):
 | 
			
		|||
            'comment_count': int,
 | 
			
		||||
        },
 | 
			
		||||
        'skip': 'Requires an account',
 | 
			
		||||
    }, {
 | 
			
		||||
        # Video without owner
 | 
			
		||||
        'url': 'http://www.nicovideo.jp/watch/sm18238488',
 | 
			
		||||
        'md5': 'd265680a1f92bdcbbd2a507fc9e78a9e',
 | 
			
		||||
        'info_dict': {
 | 
			
		||||
            'id': 'sm18238488',
 | 
			
		||||
            'ext': 'mp4',
 | 
			
		||||
            'title': '【実写版】ミュータントタートルズ',
 | 
			
		||||
            'description': 'md5:15df8988e47a86f9e978af2064bf6d8e',
 | 
			
		||||
            'timestamp': 1341160408,
 | 
			
		||||
            'upload_date': '20120701',
 | 
			
		||||
            'uploader': None,
 | 
			
		||||
            'uploader_id': None,
 | 
			
		||||
            'thumbnail': r're:https?://.*',
 | 
			
		||||
            'duration': 5271,
 | 
			
		||||
            'view_count': int,
 | 
			
		||||
            'comment_count': int,
 | 
			
		||||
        },
 | 
			
		||||
        'skip': 'Requires an account',
 | 
			
		||||
    }, {
 | 
			
		||||
        'url': 'http://sp.nicovideo.jp/watch/sm28964488?ss_pos=1&cp_in=wt_tg',
 | 
			
		||||
        'only_matching': True,
 | 
			
		||||
| 
						 | 
				
			
			@ -395,7 +414,9 @@ class NiconicoIE(InfoExtractor):
 | 
			
		|||
 | 
			
		||||
        webpage_url = get_video_info('watch_url') or url
 | 
			
		||||
 | 
			
		||||
        owner = api_data.get('owner', {})
 | 
			
		||||
        # Note: cannot use api_data.get('owner', {}) because owner may be set to "null"
 | 
			
		||||
        # in the JSON, which will cause None to be returned instead of {}.
 | 
			
		||||
        owner = try_get(api_data, lambda x: x.get('owner'), dict) or {}
 | 
			
		||||
        uploader_id = get_video_info(['ch_id', 'user_id']) or owner.get('id')
 | 
			
		||||
        uploader = get_video_info(['ch_name', 'user_nickname']) or owner.get('nickname')
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue