Python TikTok API

0pizxfdo  于 2023-04-19  发布在  Python
关注(0)|答案(1)|浏览(209)

我如何才能获得前5名最热门的tiktoks视频网址与hashtags #techfinds和#tiktiokmademebuyit在python?
试过了

from TikTokApi import TikTokApi

# Watch https://www.youtube.com/watch?v=-uCt1x8kINQ for a brief setup tutorial
with TikTokApi() as api:
  for trending_video in api.trending.videos(count=1):
    # Prints the author's username of the trending video.
    print(trending_video.author.username)

不工作

wecizke3

wecizke31#

代码中的错误是,它只使用count=1的trending.videos()函数检索一个热门视频。此外,它只打印作者的用户名,这与任务中指定的主题标签无关。
要获取带有#techfinds和#tiktokmademebuyit标签的前5个最热门TikTok视频URL,您可以使用TikTokApi库中的search_for_hashtags()函数。
尝试以下操作:

from TikTokApi import TikTokApi

# Initialize the TikTokApi
api = TikTokApi()

# Search for the top 5 trending videos with the hashtags #techfinds and #tiktokmademebuyit
results = api.search_for_hashtags(['techfinds', 'tiktokmademebuyit'], count=5)

# Print the URLs of the top 5 trending videos
for result in results:
    print(result['video']['playAddr'])

首先使用TikTokApi()构造函数初始化TikTokApi。然后,使用主题标签techfinds和tiktokmademebuyit作为参数调用search_for_hashtags()函数,沿着将count参数设置为5以获得前5个结果。
最后,循环遍历结果,并使用每个视频对象的playAddr属性打印视频的URL。
或者,您可以尝试以下操作:

from TikTokApi import TikTokApi

# Create an instance of the TikTokApi class
api = TikTokApi()

# Define the hashtags to search for
hashtags = ['#techfinds', '#tiktokmademebuyit']

# Search for the top trending videos with the specified hashtags
trending_videos = api.byHashtag(hashtags, count=5)

# Print the URLs of the top trending videos
for video in trending_videos:
    print(video['video']['urls'][0])

TikTokApi库需要你登录TikTok才能使用它的一些功能。你可以在库的文档中找到关于如何设置库和使用TikTok进行身份验证的更多信息。
在上面的代码中,首先创建一个TikTokApi类的示例。然后定义你想要搜索的hashtag,并将它们与count参数沿着传递给api对象的byHashtag()方法,该参数指定要检索的视频数量。
byHashtag()方法返回一个字典列表,每个字典包含一个视频的信息。我们循环这个列表,并使用字典的'video'键和嵌套字典的'urls'键打印每个视频的URL。
或者,我们可以创建一个TikTokScraper:

import requests

# Set API endpoint and query parameters
endpoint = 'https://m.tiktok.com/node/share/tag/top/'
query_params = {
    'id': '1',
    'secUid': '',
    'type': '5',
    'count': '30',
    'minCursor': '0',
    'maxCursor': '0',
    'shareUid': '',
    'lang': '',
    'verifyFp': '',
    'itemId': '',
    'userAgent': '',
    'referer': '',
    'hashtags': 'techfinds,tiktokmademebuyit'
}

# Make request to TikTok API
response = requests.get(endpoint, params=query_params)

# Parse response and extract top 5 video URLs
videos = response.json()['body']['itemList']
top_5_videos = sorted(videos, key=lambda v: v['stats']['diggCount'], reverse=True)[:5]
urls = [v['video']['urls'][0] for v in top_5_videos]

# Print top 5 video URLs
print(urls)

我设置了TikTok API端点来获取带有指定hashtag的热门视频。然后使用指定的查询参数向该端点发出GET请求。API的响应是JSON格式的,因此我们使用response.json解析它。()方法。然后我们根据他们的喜欢数量提取前5个视频(diggCount),按降序排序,提取它们的视频网址,最后我们打印前5个视频网址。
祝你好运

相关问题