you-get/src/you_get/extractors/douyin.py

39 lines
924 B
Python
Raw Normal View History

2017-12-15 12:21:34 +03:00
# coding=utf-8
import re
import json
from ..common import (
url_size,
print_info,
get_content,
download_urls,
playlist_not_supported,
)
__all__ = ['douyin_download_by_url']
def douyin_download_by_url(url, **kwargs):
page_content = get_content(url)
match_rule = re.compile(r'var data = \[(.*?)\];')
video_info = json.loads(match_rule.findall(page_content)[0])
video_url = video_info['video']['play_addr']['url_list'][0]
title = video_info['cha_list'][0]['cha_name']
video_format = 'mp4'
size = url_size(video_url)
print_info(
site_info='douyin.com', title=title,
type=video_format, size=size
)
if not kwargs['info_only']:
download_urls(
urls=[video_url], title=title, ext=video_format, total_size=size,
**kwargs
)
download = douyin_download_by_url
download_playlist = playlist_not_supported('douyin')