summary refs log tree commit diff
diff options
context:
space:
mode:
authorTimmy <hello@timmy.ws>2018-04-14 17:04:42 +0200
committerSergey M․ <dstftw@gmail.com>2018-04-15 22:46:30 +0700
commit9b5aead6aa8ad82a5eecd2bc26c0e94399e92ca7 (patch)
tree6844c0ea6a5d2d7737cafd14e7654fc8155e65be
parent68ddba20ae4e0ab28146e80d3e112a5a2661c386 (diff)
downloadyoutube-dl-9b5aead6aa8ad82a5eecd2bc26c0e94399e92ca7.tar.gz
youtube-dl-9b5aead6aa8ad82a5eecd2bc26c0e94399e92ca7.tar.xz
youtube-dl-9b5aead6aa8ad82a5eecd2bc26c0e94399e92ca7.zip
[vine:user] Fix extraction (closes #15514)
-rw-r--r--youtube_dl/extractor/vine.py25
1 files changed, 9 insertions, 16 deletions
diff --git a/youtube_dl/extractor/vine.py b/youtube_dl/extractor/vine.py
index 46950d3a1..08ddffa66 100644
--- a/youtube_dl/extractor/vine.py
+++ b/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)