X-Git-Url: https://git.rapsys.eu/youtubedl/blobdiff_plain/46113edab215c2211a604c06245c16d5d4e57dcf..82a01b147e1b7241e1040c446b10b58b658c70cf:/youtube_dl/extractor/played.py diff --git a/youtube_dl/extractor/played.py b/youtube_dl/extractor/played.py index 645a1e0..57c875e 100644 --- a/youtube_dl/extractor/played.py +++ b/youtube_dl/extractor/played.py @@ -6,8 +6,9 @@ import os.path from .common import InfoExtractor from ..utils import ( - compat_urllib_parse, - compat_urllib_request, + ExtractorError, + sanitized_Request, + urlencode_postdata, ) @@ -23,23 +24,27 @@ class PlayedIE(InfoExtractor): 'ext': 'flv', 'title': 'youtube-dl_test_video.mp4', }, + 'skip': 'Removed for copyright infringement.', # oh wow } def _real_extract(self, url): video_id = self._match_id(url) - orig_webpage = self._download_webpage(url, video_id) - fields = re.findall( - r'type="hidden" name="([^"]+)"\s+value="([^"]+)">', orig_webpage) - data = dict(fields) + + m_error = re.search( + r'(?s)Reason for deletion:.*?]*>(?P[^<]+)', orig_webpage) + if m_error: + raise ExtractorError(m_error.group('msg'), expected=True) + + data = self._hidden_inputs(orig_webpage) self._sleep(2, video_id) - post = compat_urllib_parse.urlencode(data) + post = urlencode_postdata(data) headers = { b'Content-Type': b'application/x-www-form-urlencoded', } - req = compat_urllib_request.Request(url, post, headers) + req = sanitized_Request(url, post, headers) webpage = self._download_webpage( req, video_id, note='Downloading video page ...')