Explorar o código

Merge pull request #1301 from rzhxeo/xhamster

XHamsterIE: Fix video extension and add video description
Jaime Marquínez Ferrándiz %!s(int64=12) %!d(string=hai) anos
pai
achega
53b0f3e4e2
Modificáronse 1 ficheiros con 9 adicións e 7 borrados
  1. 9 7
      youtube_dl/extractor/xhamster.py

+ 9 - 7
youtube_dl/extractor/xhamster.py

@@ -3,7 +3,7 @@ import re
 from .common import InfoExtractor
 from ..utils import (
     compat_urllib_parse,
-
+    unescapeHTML,
     ExtractorError,
 )
 
@@ -36,15 +36,17 @@ class XHamsterIE(InfoExtractor):
             video_url = compat_urllib_parse.unquote(mobj.group('file'))
         else:
             video_url = mobj.group('server')+'/key='+mobj.group('file')
-        video_extension = video_url.split('.')[-1]
+        video_extension = video_url.split('.')[-1].split('?')[0]
 
         video_title = self._html_search_regex(r'<title>(?P<title>.+?) - xHamster\.com</title>',
             webpage, u'title')
 
-        # Can't see the description anywhere in the UI
-        # video_description = self._html_search_regex(r'<span>Description: </span>(?P<description>[^<]+)',
-        #     webpage, u'description', fatal=False)
-        # if video_description: video_description = unescapeHTML(video_description)
+        # Only a few videos have an description
+        mobj = re.search('<span>Description: </span>(?P<description>[^<]+)', webpage)
+        if mobj:
+            video_description = unescapeHTML(mobj.group('description'))
+        else:
+            video_description = None
 
         mobj = re.search(r'hint=\'(?P<upload_date_Y>[0-9]{4})-(?P<upload_date_m>[0-9]{2})-(?P<upload_date_d>[0-9]{2}) [0-9]{2}:[0-9]{2}:[0-9]{2} [A-Z]{3,4}\'', webpage)
         if mobj:
@@ -64,7 +66,7 @@ class XHamsterIE(InfoExtractor):
             'url':      video_url,
             'ext':      video_extension,
             'title':    video_title,
-            # 'description': video_description,
+            'description': video_description,
             'upload_date': video_upload_date,
             'uploader_id': video_uploader_id,
             'thumbnail': video_thumbnail