mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[periscope:user] Adapt to layout changes (Closes #9563)
This commit is contained in:
		| @@ -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) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․