aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/extractor
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 /youtube_dl/extractor
parent68ddba20ae4e0ab28146e80d3e112a5a2661c386 (diff)
[vine:user] Fix extraction (closes #15514)
Diffstat (limited to 'youtube_dl/extractor')
-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)