diff options
| -rw-r--r-- | youtube_dl/extractor/channel9.py | 6 | ||||
| -rw-r--r-- | youtube_dl/extractor/generic.py | 6 | 
2 files changed, 12 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/channel9.py b/youtube_dl/extractor/channel9.py index e92894246..81108e704 100644 --- a/youtube_dl/extractor/channel9.py +++ b/youtube_dl/extractor/channel9.py @@ -81,6 +81,12 @@ class Channel9IE(InfoExtractor):      _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 diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 68b633839..6dab4c7f4 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -101,6 +101,7 @@ from .mediaset import MediasetIE  from .joj import JojIE  from .megaphone import MegaphoneIE  from .vzaar import VzaarIE +from .channel9 import Channel9IE  class GenericIE(InfoExtractor): @@ -2871,6 +2872,11 @@ class GenericIE(InfoExtractor):              return self.playlist_from_matches(                  vzaar_urls, video_id, video_title, ie=VzaarIE.ie_key()) +        channel9_urls = Channel9IE._extract_urls(webpage) +        if channel9_urls: +            return self.playlist_from_matches( +                channel9_urls, video_id, video_title, ie=Channel9IE.ie_key()) +          def merge_dicts(dict1, dict2):              merged = {}              for k, v in dict1.items(): | 
