Khám phá một số API Douyin Python

Tôi vô tình nhìn thấy một loạt bảng xếp hạng trên nền tảng tạo Douyin, chẳng hạn như danh sách tìm kiếm hot, danh sách video nổi tiếng, danh sách ngôi sao giải trí, danh sách ca nhạc, v.v.

Liên kết web: https://creator.douyin.com/billboard/home Dữ liệu hiển thị sau khi đăng nhập


Giao diện danh sách

Tên giao diện loại liên kết danh sách tìm kiếm nóng

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=1 

Danh sách tăng nóng

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=9

Video phổ biến trong ngày

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=4

Ngôi sao giải trí

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=2

Thể thao nhiệt

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=3

Biểu đồ trực tiếp

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=10 

Bài hát hot

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=5

Bảng xếp hạng âm nhạc tăng vọt

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=6

Bảng xếp hạng nhạc gốc

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=7

Danh sách hai chiều

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=61

Danh sách vui nhộn

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=86

du lịch

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=91

Âm mưu

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=81

Danh sách thực phẩm

Get https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=71

Hot tìm kiếm :

https://www.iesdouyin.com/web/api/v2/hotsearch/billboard/aweme/

Giao diện trên không thể truy cập trực tiếp, bạn cần thêm Người giới thiệu khi yêu cầu, sau đây là ví dụ về dữ liệu "Video Hot hiện nay"


Video phổ biến trong ngày

Biết được giao diện dữ liệu và phương thức yêu cầu của các video phổ biến hiện nay, bạn có thể trực tiếp sử dụng các yêu cầu để đưa ra yêu cầu. Đoạn mã rất đơn giản, bạn chỉ cần thay đổi url để yêu cầu các giao diện khác.

import requests

hot_video_url = 'https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=4'

headers = {
           "user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36",
           "referer": "https://creator.douyin.com/billboard/hot_aweme"
           }

response = requests.get(url=hot_video_url, headers=headers).json()

print(response)
123456789101112

Ví dụ về dữ liệu trả về:


Nhận chi tiết video

Trong dữ liệu trả về các bạn có thể thấy không có nội dung chi tiết của video mà chỉ có tên tác giả auhor, ảnh nền video img_url, link trang chia sẻ, thứ hạng thứ hạng, tiêu đề, giá trị phổ biến.


Khi bạn muốn nhận thêm thông tin video, chẳng hạn như lượt thích, lượt đăng lại, nhận xét hoặc thông tin tác giả, bạn cần lấy dữ liệu thông qua các giao diện khác.


Ở đây mình chọn ngẫu nhiên một liên kết chia sẻ Link:https://www.iesdouyin.com/share/video/6844023242781412622/?region=CN&mid=6844023258854345479&u_code=0&titleType=title

 

Giao diện dữ liệu được phát hiện thông qua chụp gói: https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6844023242781412622


(Bạn có thể truy cập trực tiếp giao diện này. Chỉ có một tham số item_ids, bạn có thể thấy rằng item_ids giống với id đằng sau video trên liên kết chia sẻ)


Dữ liệu trả về như sau:


Ví dụ mã

Trước tiên, tải bộ sưu tập "Video Hot của Ngày hôm nay", sau đó trích xuất item_ids tương ứng với mỗi video, sau đó lấy dữ liệu video chi tiết theo id

# -*- coding: utf-8 -*-

import requests
import re

hot_video_url = 'https://creator.douyin.com/aweme/v1/creator/data/billboard/?billboard_type=4'

headers = {
           "user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36",
           "referer": "https://creator.douyin.com/billboard/hot_aweme"
           }

response = requests.get(url=hot_video_url, headers=headers).json()


for video in response['billboard_data']:
    link = video['link']            # 分享页链接
    title = video['title']          # 视频标题
    rank = (video['rank'])          # 当前排名
    hot_value = video['value']      # 当前热度

    items_ids = re.findall('video/(.*?)/', link)[0]    # 获取详情数据需要的id

    video_detail_url = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={}'.format(items_ids)

    detail = requests.get(video_detail_url,headers=headers).json()

    print(detail['item_list'][0]['share_url'])

    break   # 只取1条,示例

Đăng nhận xét

Post a Comment (0)

Mới hơn Cũ hơn