浏览代码

[vine:user] Fix extraction (closes #15514)

Timmy 7 年之前
父节点
当前提交
9b5aead6aa
共有 1 个文件被更改,包括 9 次插入16 次删除
  1. 9 16
      youtube_dl/extractor/vine.py

+ 9 - 16
youtube_dl/extractor/vine.py

@@ -2,7 +2,6 @@
 from __future__ import unicode_literals
 
 import re
-import itertools
 
 from .common import InfoExtractor
 from ..utils import (
@@ -116,14 +115,14 @@ class VineUserIE(InfoExtractor):
     _VINE_BASE_URL = 'https://vine.co/'
     _TESTS = [
         {
-            'url': 'https://vine.co/Visa',
+            'url': 'https://vine.co/itsruthb',
             'info_dict': {
-                'id': 'Visa',
+                'id': 'itsruthb',
             },
-            'playlist_mincount': 46,
+            'playlist_mincount': 611,
         },
         {
-            'url': 'https://vine.co/u/941705360593584128',
+            'url': 'https://vine.co/u/942914934646415360',
             'only_matching': True,
         },
     ]
@@ -139,16 +138,10 @@ class VineUserIE(InfoExtractor):
             profile_url, user, note='Downloading user profile data')
 
         user_id = profile_data['data']['userId']
-        timeline_data = []
-        for pagenum in itertools.count(1):
-            timeline_url = '%sapi/timelines/users/%s?page=%s&size=100' % (
-                self._VINE_BASE_URL, user_id, pagenum)
-            timeline_page = self._download_json(
-                timeline_url, user, note='Downloading page %d' % pagenum)
-            timeline_data.extend(timeline_page['data']['records'])
-            if timeline_page['data']['nextPage'] is None:
-                break
-
+        user_archive = self._download_json(
+            'https://archive.vine.co/profiles/%s.json' % user_id, user_id)
+        posts = user_archive['posts']
         entries = [
-            self.url_result(e['permalinkUrl'], 'Vine') for e in timeline_data]
+            self.url_result('https://vine.co/v/%s' % post_id, 'Vine')
+            for post_id in posts]
         return self.playlist_result(entries, user)