[promptfile] Fix extraction (Closes #10634)
authorOndřej Bárta <git@ondrej.it>
Sun, 25 Sep 2016 10:44:46 +0000 (12:44 +0200)
committerSergey M․ <dstftw@gmail.com>
Mon, 26 Sep 2016 16:20:58 +0000 (23:20 +0700)
youtube_dl/extractor/promptfile.py

index f93bd19ff6dde40c87672b4fd18a3f1aab11382e..54c4aee133f214a724726d8e338066d135f78545 100644 (file)
@@ -15,12 +15,12 @@ from ..utils import (
 class PromptFileIE(InfoExtractor):
     _VALID_URL = r'https?://(?:www\.)?promptfile\.com/l/(?P<id>[0-9A-Z\-]+)'
     _TEST = {
-        'url': 'http://www.promptfile.com/l/D21B4746E9-F01462F0FF',
-        'md5': 'd1451b6302da7215485837aaea882c4c',
+        'url': 'http://www.promptfile.com/l/86D1CE8462-576CAAE416',
+        'md5': '5a7e285a26e0d66d9a263fae91bc92ce',
         'info_dict': {
-            'id': 'D21B4746E9-F01462F0FF',
+            'id': '86D1CE8462-576CAAE416',
             'ext': 'mp4',
-            'title': 'Birds.mp4',
+            'title': 'oceans.mp4',
             'thumbnail': 're:^https?://.*\.jpg$',
         }
     }
@@ -33,14 +33,20 @@ class PromptFileIE(InfoExtractor):
             raise ExtractorError('Video %s does not exist' % video_id,
                                  expected=True)
 
+        chash_pattern = r'\$\("#chash"\)\.val\("(.+)"\+\$\("#chash"\)'
+        chash = self._html_search_regex(chash_pattern, webpage, "chash")
         fields = self._hidden_inputs(webpage)
+        k = list(fields)[0]
+        fields[k] = chash + fields[k]
+
         post = urlencode_postdata(fields)
         req = sanitized_Request(url, post)
         req.add_header('Content-type', 'application/x-www-form-urlencoded')
         webpage = self._download_webpage(
             req, video_id, 'Downloading video page')
 
-        url = self._html_search_regex(r'url:\s*\'([^\']+)\'', webpage, 'URL')
+        url_pattern = r'<a href="(http://www\.promptfile\.com/file/[^"]+)'
+        url = self._html_search_regex(url_pattern, webpage, 'URL')
         title = self._html_search_regex(
             r'<span.+title="([^"]+)">', webpage, 'title')
         thumbnail = self._html_search_regex(