mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 22:55:18 +00:00 
			
		
		
		
	Fix infoQ in Python3
This commit is contained in:
		| @@ -3,6 +3,7 @@ | |||||||
|  |  | ||||||
| from __future__ import absolute_import | from __future__ import absolute_import | ||||||
|  |  | ||||||
|  | import base64 | ||||||
| import datetime | import datetime | ||||||
| import netrc | import netrc | ||||||
| import os | import os | ||||||
| @@ -2824,10 +2825,6 @@ class InfoQIE(InfoExtractor): | |||||||
|     _VALID_URL = r'^(?:https?://)?(?:www\.)?infoq\.com/[^/]+/[^/]+$' |     _VALID_URL = r'^(?:https?://)?(?:www\.)?infoq\.com/[^/]+/[^/]+$' | ||||||
|     IE_NAME = u'infoq' |     IE_NAME = u'infoq' | ||||||
|  |  | ||||||
|     def report_webpage(self, video_id): |  | ||||||
|         """Report information extraction.""" |  | ||||||
|         self._downloader.to_screen(u'[%s] %s: Downloading webpage' % (self.IE_NAME, video_id)) |  | ||||||
|  |  | ||||||
|     def report_extraction(self, video_id): |     def report_extraction(self, video_id): | ||||||
|         """Report information extraction.""" |         """Report information extraction.""" | ||||||
|         self._downloader.to_screen(u'[%s] %s: Extracting information' % (self.IE_NAME, video_id)) |         self._downloader.to_screen(u'[%s] %s: Extracting information' % (self.IE_NAME, video_id)) | ||||||
| @@ -2838,38 +2835,29 @@ class InfoQIE(InfoExtractor): | |||||||
|             self._downloader.trouble(u'ERROR: invalid URL: %s' % url) |             self._downloader.trouble(u'ERROR: invalid URL: %s' % url) | ||||||
|             return |             return | ||||||
|  |  | ||||||
|         self.report_webpage(url) |         webpage = self._download_webpage(url, video_id=url) | ||||||
|  |  | ||||||
|         request = compat_urllib_request.Request(url) |  | ||||||
|         try: |  | ||||||
|             webpage = compat_urllib_request.urlopen(request).read() |  | ||||||
|         except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err: |  | ||||||
|             self._downloader.trouble(u'ERROR: unable to download video webpage: %s' % compat_str(err)) |  | ||||||
|             return |  | ||||||
|  |  | ||||||
|         self.report_extraction(url) |         self.report_extraction(url) | ||||||
|  |  | ||||||
|  |  | ||||||
|         # Extract video URL |         # Extract video URL | ||||||
|         mobj = re.search(r"jsclassref='([^']*)'", webpage) |         mobj = re.search(r"jsclassref='([^']*)'", webpage) | ||||||
|         if mobj is None: |         if mobj is None: | ||||||
|             self._downloader.trouble(u'ERROR: unable to extract video url') |             self._downloader.trouble(u'ERROR: unable to extract video url') | ||||||
|             return |             return | ||||||
|         video_url = 'rtmpe://video.infoq.com/cfx/st/' + compat_urllib_parse.unquote(mobj.group(1).decode('base64')) |         real_id = compat_urllib_parse.unquote(base64.b64decode(mobj.group(1).encode('ascii')).decode('utf-8')) | ||||||
|  |         video_url = 'rtmpe://video.infoq.com/cfx/st/' + real_id | ||||||
|  |  | ||||||
|         # Extract title |         # Extract title | ||||||
|         mobj = re.search(r'contentTitle = "(.*?)";', webpage) |         mobj = re.search(r'contentTitle = "(.*?)";', webpage) | ||||||
|         if mobj is None: |         if mobj is None: | ||||||
|             self._downloader.trouble(u'ERROR: unable to extract video title') |             self._downloader.trouble(u'ERROR: unable to extract video title') | ||||||
|             return |             return | ||||||
|         video_title = mobj.group(1).decode('utf-8') |         video_title = mobj.group(1) | ||||||
|  |  | ||||||
|         # Extract description |         # Extract description | ||||||
|         video_description = u'No description available.' |         video_description = u'No description available.' | ||||||
|         mobj = re.search(r'<meta name="description" content="(.*)"(?:\s*/)?>', webpage) |         mobj = re.search(r'<meta name="description" content="(.*)"(?:\s*/)?>', webpage) | ||||||
|         if mobj is not None: |         if mobj is not None: | ||||||
|             video_description = mobj.group(1).decode('utf-8') |             video_description = mobj.group(1) | ||||||
|  |  | ||||||
|         video_filename = video_url.split('/')[-1] |         video_filename = video_url.split('/')[-1] | ||||||
|         video_id, extension = video_filename.split('.') |         video_id, extension = video_filename.split('.') | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
					Philipp Hagemeister