mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[lynda:course] Add webpage extraction fallback (closes #12238)
This commit is contained in:
		| @@ -260,9 +260,24 @@ class LyndaCourseIE(LyndaBaseIE): | ||||
|         course_path = mobj.group('coursepath') | ||||
|         course_id = mobj.group('courseid') | ||||
|  | ||||
|         item_template = 'https://www.lynda.com/%s/%%s-4.html' % course_path | ||||
|  | ||||
|         course = self._download_json( | ||||
|             'https://www.lynda.com/ajax/player?courseId=%s&type=course' % course_id, | ||||
|             course_id, 'Downloading course JSON') | ||||
|             course_id, 'Downloading course JSON', fatal=False) | ||||
|  | ||||
|         if not course: | ||||
|             webpage = self._download_webpage(url, course_id) | ||||
|             entries = [ | ||||
|                 self.url_result( | ||||
|                     item_template % video_id, ie=LyndaIE.ie_key(), | ||||
|                     video_id=video_id) | ||||
|                 for video_id in re.findall( | ||||
|                     r'data-video-id=["\'](\d+)', webpage)] | ||||
|             return self.playlist_result( | ||||
|                 entries, course_id, | ||||
|                 self._og_search_title(webpage, fatal=False), | ||||
|                 self._og_search_description(webpage)) | ||||
|  | ||||
|         if course.get('Status') == 'NotFound': | ||||
|             raise ExtractorError( | ||||
| @@ -283,7 +298,7 @@ class LyndaCourseIE(LyndaBaseIE): | ||||
|                 if video_id: | ||||
|                     entries.append({ | ||||
|                         '_type': 'url_transparent', | ||||
|                         'url': 'https://www.lynda.com/%s/%s-4.html' % (course_path, video_id), | ||||
|                         'url': item_template % video_id, | ||||
|                         'ie_key': LyndaIE.ie_key(), | ||||
|                         'chapter': chapter.get('Title'), | ||||
|                         'chapter_number': int_or_none(chapter.get('ChapterIndex')), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user