diff options
Diffstat (limited to 'youtube_dl/InfoExtractors.py')
| -rwxr-xr-x | youtube_dl/InfoExtractors.py | 49 | 
1 files changed, 1 insertions, 48 deletions
| diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py index d5167fef9..4bb4aa84a 100755 --- a/youtube_dl/InfoExtractors.py +++ b/youtube_dl/InfoExtractors.py @@ -34,6 +34,7 @@ from .extractor.gametrailers import GametrailersIE  from .extractor.generic import GenericIE  from .extractor.googleplus import GooglePlusIE  from .extractor.googlesearch import GoogleSearchIE +from .extractor.hypem import HypemIE  from .extractor.ina import InaIE  from .extractor.infoq import InfoQIE  from .extractor.justintv import JustinTVIE @@ -280,55 +281,7 @@ class XHamsterIE(InfoExtractor):              'thumbnail': video_thumbnail          }] -class HypemIE(InfoExtractor): -    """Information Extractor for hypem""" -    _VALID_URL = r'(?:http://)?(?:www\.)?hypem\.com/track/([^/]+)/([^/]+)' -    def _real_extract(self, url): -        mobj = re.match(self._VALID_URL, url) -        if mobj is None: -            raise ExtractorError(u'Invalid URL: %s' % url) -        track_id = mobj.group(1) - -        data = { 'ax': 1, 'ts': time.time() } -        data_encoded = compat_urllib_parse.urlencode(data) -        complete_url = url + "?" + data_encoded -        request = compat_urllib_request.Request(complete_url) -        response, urlh = self._download_webpage_handle(request, track_id, u'Downloading webpage with the url') -        cookie = urlh.headers.get('Set-Cookie', '') - -        self.report_extraction(track_id) - -        html_tracks = self._html_search_regex(r'<script type="application/json" id="displayList-data">(.*?)</script>', -            response, u'tracks', flags=re.MULTILINE|re.DOTALL).strip() -        try: -            track_list = json.loads(html_tracks) -            track = track_list[u'tracks'][0] -        except ValueError: -            raise ExtractorError(u'Hypemachine contained invalid JSON.') - -        key = track[u"key"] -        track_id = track[u"id"] -        artist = track[u"artist"] -        title = track[u"song"] - -        serve_url = "http://hypem.com/serve/source/%s/%s" % (compat_str(track_id), compat_str(key)) -        request = compat_urllib_request.Request(serve_url, "" , {'Content-Type': 'application/json'}) -        request.add_header('cookie', cookie) -        song_data_json = self._download_webpage(request, track_id, u'Downloading metadata') -        try: -            song_data = json.loads(song_data_json) -        except ValueError: -            raise ExtractorError(u'Hypemachine contained invalid JSON.') -        final_url = song_data[u"url"] - -        return [{ -            'id':       track_id, -            'url':      final_url, -            'ext':      "mp3", -            'title':    title, -            'artist':   artist, -        }] | 
