[periscope:user] Adapt to layout changes (Closes #9563)
This commit is contained in:
		
							parent
							
								
									e03b35b8f9
								
							
						
					
					
						commit
						0db9a05f88
					
				| @ -2,7 +2,10 @@ | |||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
| 
 | 
 | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
| from ..utils import parse_iso8601 | from ..utils import ( | ||||||
|  |     parse_iso8601, | ||||||
|  |     unescapeHTML, | ||||||
|  | ) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class PeriscopeIE(InfoExtractor): | class PeriscopeIE(InfoExtractor): | ||||||
| @ -92,6 +95,7 @@ class PeriscopeUserIE(InfoExtractor): | |||||||
|         'info_dict': { |         'info_dict': { | ||||||
|             'id': 'LularoeHusbandMike', |             'id': 'LularoeHusbandMike', | ||||||
|             'title': 'LULAROE HUSBAND MIKE', |             'title': 'LULAROE HUSBAND MIKE', | ||||||
|  |             'description': 'md5:6cf4ec8047768098da58e446e82c82f0', | ||||||
|         }, |         }, | ||||||
|         # Periscope only shows videos in the last 24 hours, so it's possible to |         # Periscope only shows videos in the last 24 hours, so it's possible to | ||||||
|         # get 0 videos |         # get 0 videos | ||||||
| @ -103,16 +107,19 @@ class PeriscopeUserIE(InfoExtractor): | |||||||
| 
 | 
 | ||||||
|         webpage = self._download_webpage(url, user_id) |         webpage = self._download_webpage(url, user_id) | ||||||
| 
 | 
 | ||||||
|         broadcast_data = self._parse_json(self._html_search_meta( |         data_store = self._parse_json( | ||||||
|             'broadcast-data', webpage, default='{}'), user_id) |             unescapeHTML(self._search_regex( | ||||||
|         username = broadcast_data.get('user', {}).get('display_name') |                 r'data-store=(["\'])(?P<data>.+?)\1', | ||||||
|         user_broadcasts = self._parse_json( |                 webpage, 'data store', default='{}', group='data')), | ||||||
|             self._html_search_meta('user-broadcasts', webpage, default='{}'), |  | ||||||
|             user_id) |             user_id) | ||||||
| 
 | 
 | ||||||
|  |         user = data_store.get('User', {}).get('user', {}) | ||||||
|  |         title = user.get('display_name') or user.get('username') | ||||||
|  |         description = user.get('description') | ||||||
|  | 
 | ||||||
|         entries = [ |         entries = [ | ||||||
|             self.url_result( |             self.url_result( | ||||||
|                 'https://www.periscope.tv/%s/%s' % (user_id, broadcast['id'])) |                 'https://www.periscope.tv/%s/%s' % (user_id, broadcast['id'])) | ||||||
|             for broadcast in user_broadcasts.get('broadcasts', [])] |             for broadcast in data_store.get('UserBroadcastHistory', {}).get('broadcasts', [])] | ||||||
| 
 | 
 | ||||||
|         return self.playlist_result(entries, user_id, username) |         return self.playlist_result(entries, user_id, title, description) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user