浏览代码

VineIE: extract more information and minor style changes

Jaime Marquínez Ferrándiz 12 年之前
父节点
当前提交
17bd1b2f41
共有 2 个文件被更改,包括 22 次插入7 次删除
  1. 2 1
      test/tests.json
  2. 20 6
      youtube_dl/InfoExtractors.py

+ 2 - 1
test/tests.json

@@ -458,7 +458,8 @@
     "file": "b9KOOWX7HUx.mp4",
     "md5": "2f36fed6235b16da96ce9b4dc890940d",
     "info_dict":{
-      "title":"Chicken."
+      "title": "Chicken.",
+      "uploader": "Jack Dorsey"
     }
   }
 ]

+ 20 - 6
youtube_dl/InfoExtractors.py

@@ -4116,21 +4116,35 @@ class VineIE(InfoExtractor):
         webpage_url = 'https://vine.co/v/' + video_id
         webpage = self._download_webpage(webpage_url, video_id)
 
-        mobj = re.search(r'<meta property="twitter:player:stream" content="([^"]+)"', webpage)
+        self.report_extraction(video_id)
+
+        mobj = re.search(r'<meta property="twitter:player:stream" content="(.+?)"', webpage)
         if mobj is None:
             raise ExtractorError(u'Unable to extract video URL')
         video_url = mobj.group(1)
 
-        mobj = re.search(r'<meta property="og:title" content="([^"]+)"', webpage)
+        mobj = re.search(r'<meta property="og:title" content="(.+?)"', webpage)
         if mobj is None:
             raise ExtractorError(u'Unable to extract title')
         video_title = mobj.group(1)
 
+        mobj = re.search(r'<meta property="og:image" content="(.+?)(\?.*?)?"', webpage)
+        if mobj is None:
+            raise ExtractorError(u'Unable to extract thumbnail')
+        thumbnail = mobj.group(1)
+
+        mobj = re.search(r'<div class="user">.*?<h2>(.+?)</h2>', webpage, re.DOTALL)
+        if mobj is None:
+            raise ExtractorError(u'Unable to extract uploader')
+        uploader = mobj.group(1)
+
         return [{
-            'id':       video_id,
-            'url':      video_url,
-            'ext':      'mp4',
-            'title':    video_title,
+            'id':        video_id,
+            'url':       video_url,
+            'ext':       'mp4',
+            'title':     video_title,
+            'thumbnail': thumbnail,
+            'uploader':  uploader,
         }]
 
 def gen_extractors():