from __future__ import unicode_literals
import re
-import itertools
from .common import InfoExtractor
from ..utils import (
_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,
},
]
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)