基于python的抖音api教程(一):获取抖音视频基础数据

相关文章:基于python的抖音api教程(二):获取视频点赞数据-CSDN博客

通过api获取的视频基础数据包括:

1、最近30天平均播放时长,单位为秒

2、最近30天评论数

3、最近30天点赞数

4、最近30天播放次数

5、最近30天分享数

从抖音开放平台了解api接口说明:

https://developer.open-douyin.com/docs/resource/zh-CN/dop/develop/openapi/data-open-service/video-data/get-basic-data

可以发现需要两个请求头(access-token、content-type)和两个请求参数(item_id、open_id),除了content-type以外,其他都需要根据说明文档进行申请权限后获取。

获取后,可以在页面顶端进行在线调试,测试token是否有效。

import requests
import urllib.parse

def get_douyin_video_data(item_id, open_id, access_token):
    # URL 编码 item_id
    encoded_item_id = urllib.parse.quote(item_id)

    # 定义 API 端点
    url = f"https://open.douyin.com/data/external/item/base/?open_id={open_id}&item_id={encoded_item_id}"

    # 设置请求头
    headers = {
        'access-token': access_token,
        'content-type': 'application/json'
    }

    # 发送 GET 请求
    response = requests.get(url, headers=headers)

    # 检查响应是否成功
    if response.status_code == 200:
        data = response.json()
        if data['extra']['error_code'] == 0:
            return data['data']['result']
        else:
            return f"错误: {data['extra']['description']}, 错误码: {data['extra']['error_code']}"
    else:
        return f"HTTP 错误: {response.status_code}"

# 示例参数
item_id = ""  # 这里填上你获取的三个参数
open_id = ""
access_token = ""

# 调用函数获取视频数据
video_data = get_douyin_video_data(item_id, open_id, access_token)
print(video_data)

输出示例:

{'total_comment': 4, 'total_like': 59, 'total_play': 4933, 'total_share': 4, 'avg_play_duration': 7.9532}

### 使用 Python 调用 API 的方法 为了使用 Python 成功调用 API获取所需的数据,需遵循系列步骤来设置开发环境并编写相应的脚本。 #### 安装必要的库 首先,需要安装 `volcengine-python-sdk` 库以便能够方便地与的服务端通信。这可以通过 pip 工具轻松完成: ```bash pip install volcengine-python-sdk ``` 此命令会下载并安装 Volcano Engine 提供的官方 Python SDK,使得后续可以更便捷地发起请求[^2]。 #### 获取访问凭证 在正式开始编码之前,还需要向开放平台申请应用,并获得用于身份验证的应用 ID 和密钥。这些信息对于构建合法有效的 HTTP 请求至关重要,在每次调用 API 接口时都必须提供它们作为参数传递给服务器进行校验[^3]。 #### 编写代码实现功能需求 旦准备工作就绪,则可以根据具体业务场景选择合适的 API 接口来进行交互。例如,要抓取某个用户的公开发布过的视频基本信息,可参照如下模板代码片段所示的方式执行操作: ```python from volcengine.douyin_open_platform import DouYinOpenPlatformClient, models client = DouYinOpenPlatformClient('your_app_id', 'your_secret_key') request = models.GetVideoBasicDataRequest() request.user_unique_id = "target_user_name" response = client.get_video_basic_data(request) for video in response.data['video_list']: print(f"Title: {video.title}, URL: {video.play_url}") ``` 上述例子展示了怎样利用 `GetVideoBasicDataRequest()` 方法构造查询条件对象,并将其传入到客户端实例的方法中去;最终遍历返回的结果集输出每条记录中的标题以及播放链接地址。 另外值得注意的是,当涉及到较长时间跨度内的互动行为统计分析(比如点赞量),则应该考虑采用专门针对此类指标设计好的接口,如 `get_like_data` 函数只适用于最近个月内产生的动态更新情况下的统计数据检索任务[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cathy0131

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值