[newgrounds] Fix uploader extraction
Closes #10584 Also change test URLs to HTTPS, as proposed by @stepshal in #10593. Closes #10593
This commit is contained in:
		| @@ -1,3 +1,9 @@ | ||||
| version <unreleased> | ||||
|  | ||||
| Extractors | ||||
| * [newgrounds] Fix uploader extraction (#10584) | ||||
|  | ||||
|  | ||||
| version 2016.09.08 | ||||
|  | ||||
| Extractors | ||||
|   | ||||
| @@ -1,15 +1,12 @@ | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| import json | ||||
| import re | ||||
|  | ||||
| from .common import InfoExtractor | ||||
|  | ||||
|  | ||||
| class NewgroundsIE(InfoExtractor): | ||||
|     _VALID_URL = r'https?://(?:www\.)?newgrounds\.com/(?:audio/listen|portal/view)/(?P<id>[0-9]+)' | ||||
|     _TESTS = [{ | ||||
|         'url': 'http://www.newgrounds.com/audio/listen/549479', | ||||
|         'url': 'https://www.newgrounds.com/audio/listen/549479', | ||||
|         'md5': 'fe6033d297591288fa1c1f780386f07a', | ||||
|         'info_dict': { | ||||
|             'id': '549479', | ||||
| @@ -18,7 +15,7 @@ class NewgroundsIE(InfoExtractor): | ||||
|             'uploader': 'Burn7', | ||||
|         } | ||||
|     }, { | ||||
|         'url': 'http://www.newgrounds.com/portal/view/673111', | ||||
|         'url': 'https://www.newgrounds.com/portal/view/673111', | ||||
|         'md5': '3394735822aab2478c31b1004fe5e5bc', | ||||
|         'info_dict': { | ||||
|             'id': '673111', | ||||
| @@ -29,24 +26,20 @@ class NewgroundsIE(InfoExtractor): | ||||
|     }] | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         mobj = re.match(self._VALID_URL, url) | ||||
|         music_id = mobj.group('id') | ||||
|         webpage = self._download_webpage(url, music_id) | ||||
|         media_id = self._match_id(url) | ||||
|         webpage = self._download_webpage(url, media_id) | ||||
|  | ||||
|         title = self._html_search_regex( | ||||
|             r'<title>([^>]+)</title>', webpage, 'title') | ||||
|  | ||||
|         uploader = self._html_search_regex( | ||||
|             [r',"artist":"([^"]+)",', r'[\'"]owner[\'"]\s*:\s*[\'"]([^\'"]+)[\'"],'], | ||||
|             webpage, 'uploader') | ||||
|             r'Author\s*<a[^>]+>([^<]+)', webpage, 'uploader', fatal=False) | ||||
|  | ||||
|         music_url_json_string = self._html_search_regex( | ||||
|             r'({"url":"[^"]+"),', webpage, 'music url') + '}' | ||||
|         music_url_json = json.loads(music_url_json_string) | ||||
|         music_url = music_url_json['url'] | ||||
|         music_url = self._parse_json(self._search_regex( | ||||
|             r'"url":("[^"]+"),', webpage, ''), media_id) | ||||
|  | ||||
|         return { | ||||
|             'id': music_id, | ||||
|             'id': media_id, | ||||
|             'title': title, | ||||
|             'url': music_url, | ||||
|             'uploader': uploader, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user