projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a02682f
)
[egghead:course] Fix extraction
author
Santiago Calcagno
<santicalcagno@gmail.com>
Tue, 13 Jun 2017 15:32:04 +0000
(12:32 -0300)
committer
Sergey M․
<dstftw@gmail.com>
Sun, 9 Jul 2017 10:30:25 +0000
(17:30 +0700)
youtube_dl/extractor/egghead.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/egghead.py
b/youtube_dl/extractor/egghead.py
index db921465e1c6b14330a7e22be79c7a93c6e6ea7b..01fcdb6cf2587cf1e5c8611a5056116731ec7b97 100644
(file)
--- a/
youtube_dl/extractor/egghead.py
+++ b/
youtube_dl/extractor/egghead.py
@@
-1,8
+1,6
@@
# coding: utf-8
from __future__ import unicode_literals
# coding: utf-8
from __future__ import unicode_literals
-import re
-
from .common import InfoExtractor
from .common import InfoExtractor
@@
-22,18
+20,18
@@
class EggheadCourseIE(InfoExtractor):
def _real_extract(self, url):
playlist_id = self._match_id(url)
def _real_extract(self, url):
playlist_id = self._match_id(url)
- webpage = self._download_webpage(url, playlist_id)
-
- title =
self._html_search_regex(r'<h1 class="title">([^<]+)</h1>', webpage,
'title')
-
ul = self._search_regex(r'(?s)<ul class="series-lessons-list">(.*?)</ul>', webpage, 'session list
')
+ api_url = 'https://egghead.io/api/v1/series/' + playlist_id
+ course = self._download_json(api_url, playlist_id)
+ title =
course.get(
'title')
+
description = course.get('description
')
-
found = re.findall(r'(?s)<a class="[^"]*"\s*href="([^"]+)">\s*<li class="item', ul
)
- entries = [
self.url_result(m) for m in found
]
+
lessons = course.get('lessons'
)
+ entries = [
{'_type': 'url', 'ie_key': 'Wistia', 'url': 'wistia:' + l.get('wistia_id')} for l in lessons
]
return {
'_type': 'playlist',
'id': playlist_id,
'title': title,
return {
'_type': 'playlist',
'id': playlist_id,
'title': title,
- 'description':
self._og_search_description(webpage)
,
+ 'description':
description
,
'entries': entries,
}
'entries': entries,
}