1
0
mirror of https://github.com/l1ving/youtube-dl synced 2025-03-10 06:09:59 +08:00

Merge pull request #316 from aviperes/tiktok-dl

Tiktok dl
This commit is contained in:
aviperes 2020-05-20 12:24:12 +03:00 committed by GitHub
commit ac7d45832d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 7 deletions

View File

@ -15,8 +15,7 @@ class TikTokTestYoutubeDl(unittest.TestCase):
self.assertEquals(info['title'], '#foryou #foyou Mmmmm....,,')
self.assertEquals(info['uploader'], 'Oriangaon')
self.assertEquals(info['timestamp'], 1584907616)
self.assertEquals(info['thumbnail'],
'https://p16-va-default.akamaized.net/obj/tos-maliva-p-0068/d1a8fbd3e42dda3a1baa01ee9edad289')
self.assertTrue(info['thumbnail'])
self.assertGreaterEqual(info['view_count'], 79864)
self.assertEquals(info['uploader_id'], '6772113344733955077')
self.assertFalse(info['is_live'])
@ -27,6 +26,8 @@ class TikTokTestYoutubeDl(unittest.TestCase):
self.assertEquals(info['duration'], 10)
self.assertEquals(info['ext'], 'mp4')
self.assertGreater(len(info['embed_code']),0)
self.assertGreaterEqual(info['uploader_like_count'], 1357)
self.assertEqual(info['uploader_url'], "https://www.tiktok.com/@oriangaon")
def test_download_video(self):
url = 'https://www.tiktok.com/@ballislife/video/6783617809113943301'

View File

@ -74,6 +74,8 @@ class TikTokIE(TikTokBaseIE):
ast_le = ast.literal_eval(json_data_encode)
data_dict = json.loads(ast_le)
author_followers = data_dict['props']['pageProps']['videoData']['authorStats']['followerCount']
item_info = data_dict['props']['pageProps']['videoData']['itemInfos']
timestamp = int(item_info['createTime'])
shares = item_info['shareCount']
@ -82,17 +84,17 @@ class TikTokIE(TikTokBaseIE):
provider_id = item_info['authorId']
comments_count = item_info['commentCount']
likes_count = item_info['diggCount']
entry=self._extract_aweme(data_dict)
author_url = json_api['author_url']
entry = self._extract_aweme(data_dict)
return self.info_dict(video_id, str(url), json_api['title'],
json_api['author_name'], timestamp, json_api['thumbnail_url'],
views, provider_id, False, 'not_live', likes_count, shares, '', comments_count, duration, json_api['html'], entry['formats'])
views, provider_id, False, 'not_live', likes_count, shares, '', comments_count, duration, json_api['html'], entry['formats'], author_url, author_followers)
def info_dict(self, video_id, url, video_title,
uploader, timestamp, thumbnail,
view_count, uploader_id, is_live, live_status
, likes_count, shares_count, subtitles, comment_count, duration, embed_code, format):
, likes_count, shares_count, subtitles, comment_count, duration, embed_code, format, author_url, author_followers):
info_dict = {
'id': video_id,
'url': url,
@ -110,7 +112,9 @@ class TikTokIE(TikTokBaseIE):
'comment_count': comment_count,
'duration': duration,
'embed_code': embed_code,
'formats': format
'formats': format,
'uploader_url': author_url,
'uploader_like_count': author_followers
}
return info_dict