projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[stretchinternet] Add extractor
[youtube-dl]
/
youtube_dl
/
extractor
/
channel9.py
diff --git
a/youtube_dl/extractor/channel9.py
b/youtube_dl/extractor/channel9.py
index 717e4eb3b67fa3ed6849b6da81bf0cb65aaa35a3..81108e70424f5a98bc97dcdb2ee9b11c6869ed08 100644
(file)
--- a/
youtube_dl/extractor/channel9.py
+++ b/
youtube_dl/extractor/channel9.py
@@
-4,23
+4,16
@@
import re
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
+ clean_html,
ExtractorError,
ExtractorError,
- unescapeHTML,
int_or_none,
parse_iso8601,
int_or_none,
parse_iso8601,
- clean_html,
qualities,
qualities,
+ unescapeHTML,
)
class Channel9IE(InfoExtractor):
)
class Channel9IE(InfoExtractor):
- '''
- Common extractor for channel9.msdn.com.
-
- The type of provided URL (video or playlist) is determined according to
- meta Search.PageType from web page HTML rather than URL itself, as it is
- not always possible to do.
- '''
IE_DESC = 'Channel 9'
IE_NAME = 'channel9'
_VALID_URL = r'https?://(?:www\.)?(?:channel9\.msdn\.com|s\.ch9\.ms)/(?P<contentpath>.+?)(?P<rss>/RSS)?/?(?:[?#&]|$)'
IE_DESC = 'Channel 9'
IE_NAME = 'channel9'
_VALID_URL = r'https?://(?:www\.)?(?:channel9\.msdn\.com|s\.ch9\.ms)/(?P<contentpath>.+?)(?P<rss>/RSS)?/?(?:[?#&]|$)'
@@
-88,6
+81,12
@@
class Channel9IE(InfoExtractor):
_RSS_URL = 'http://channel9.msdn.com/%s/RSS'
_RSS_URL = 'http://channel9.msdn.com/%s/RSS'
+ @staticmethod
+ def _extract_urls(webpage):
+ return re.findall(
+ r'<iframe[^>]+src=["\'](https?://channel9\.msdn\.com/(?:[^/]+/)+)player\b',
+ webpage)
+
def _extract_list(self, video_id, rss_url=None):
if not rss_url:
rss_url = self._RSS_URL % video_id
def _extract_list(self, video_id, rss_url=None):
if not rss_url:
rss_url = self._RSS_URL % video_id