mirror of
https://github.com/soimort/you-get.git
synced 2025-02-03 16:53:56 +03:00
54 lines
1.9 KiB
Python
54 lines
1.9 KiB
Python
#!/usr/bin/env python
|
|
|
|
__all__ = ['nanagogo_download']
|
|
|
|
from ..common import *
|
|
from .universal import *
|
|
|
|
def nanagogo_download(url, output_dir='.', merge=True, info_only=False, **kwargs):
|
|
if re.match(r'https?://stat.7gogo.jp', url):
|
|
universal_download(url, output_dir, merge=merge, info_only=info_only)
|
|
return
|
|
|
|
talk_id = r1(r'7gogo.jp/([^/]+)/', url)
|
|
post_id = r1(r'7gogo.jp/[^/]+/(\d+)', url)
|
|
title = '%s_%s' % (talk_id, post_id)
|
|
api_url = 'https://api.7gogo.jp/web/v2/talks/%s/posts/%s' % (talk_id, post_id)
|
|
info = json.loads(get_content(api_url))
|
|
|
|
items = []
|
|
if info['data']['posts']['post'] is None:
|
|
return
|
|
if info['data']['posts']['post']['body'] is None:
|
|
return
|
|
for i in info['data']['posts']['post']['body']:
|
|
if 'image' in i:
|
|
image_url = i['image']
|
|
if image_url[:2] == '//': continue # skip stamp images
|
|
_, ext, size = url_info(image_url)
|
|
items.append({'title': title,
|
|
'url': image_url,
|
|
'ext': ext,
|
|
'size': size})
|
|
elif 'movieUrlHq' in i:
|
|
movie_url = i['movieUrlHq']
|
|
_, ext, size = url_info(movie_url)
|
|
items.append({'title': title,
|
|
'url': movie_url,
|
|
'ext': ext,
|
|
'size': size})
|
|
|
|
size = sum([i['size'] for i in items])
|
|
if size == 0: return # do not fail the whole process
|
|
print_info(site_info, title, ext, size)
|
|
if not info_only:
|
|
for i in items:
|
|
print_info(site_info, i['title'], i['ext'], i['size'])
|
|
download_urls([i['url']], i['title'], i['ext'], i['size'],
|
|
output_dir=output_dir,
|
|
merge=merge)
|
|
|
|
site_info = "7gogo.jp"
|
|
download = nanagogo_download
|
|
download_playlist = playlist_not_supported('nanagogo')
|