mirror of
https://github.com/Evil0ctal/Douyin_TikTok_Download_API.git
synced 2025-04-17 08:27:17 +08:00
122 lines
2.6 KiB
Python
122 lines
2.6 KiB
Python
from typing import Any
|
|
from pydantic import BaseModel
|
|
from urllib.parse import quote, unquote
|
|
|
|
from crawlers.tiktok.web.utils import TokenManager
|
|
from crawlers.utils.utils import get_timestamp
|
|
|
|
|
|
# Model
|
|
class BaseRequestModel(BaseModel):
|
|
WebIdLastTime: str = str(get_timestamp("sec"))
|
|
aid: str = "1988"
|
|
app_language: str = "en"
|
|
app_name: str = "tiktok_web"
|
|
browser_language: str = "en-US"
|
|
browser_name: str = "Mozilla"
|
|
browser_online: str = "true"
|
|
browser_platform: str = "Win32"
|
|
browser_version: str = quote(
|
|
"5.0 (Windows)",
|
|
safe="",
|
|
)
|
|
channel: str = "tiktok_web"
|
|
cookie_enabled: str = "true"
|
|
device_id: int = 7349090360347690538
|
|
device_platform: str = "web_pc"
|
|
focus_state: str = "true"
|
|
from_page: str = "user"
|
|
history_len: int = 4
|
|
is_fullscreen: str = "false"
|
|
is_page_visible: str = "true"
|
|
language: str = "en"
|
|
os: str = "windows"
|
|
priority_region: str = "US"
|
|
referer: str = ""
|
|
region: str = "US" # SG JP KR...
|
|
root_referer: str = quote("https://www.tiktok.com/", safe="")
|
|
screen_height: int = 1080
|
|
screen_width: int = 1920
|
|
webcast_language: str = "en"
|
|
tz_name: str = quote("America/Tijuana", safe="")
|
|
# verifyFp: str = VerifyFpManager.gen_verify_fp()
|
|
msToken: str = TokenManager.gen_real_msToken()
|
|
|
|
|
|
# router model
|
|
class UserProfile(BaseRequestModel):
|
|
secUid: str = ""
|
|
uniqueId: str
|
|
|
|
|
|
class UserPost(BaseRequestModel):
|
|
coverFormat: int = 2
|
|
count: int = 35
|
|
cursor: int = 0
|
|
secUid: str
|
|
|
|
|
|
class UserLike(BaseRequestModel):
|
|
coverFormat: int = 2
|
|
count: int = 30
|
|
cursor: int = 0
|
|
secUid: str
|
|
|
|
|
|
class UserCollect(BaseRequestModel):
|
|
cookie: str = ""
|
|
coverFormat: int = 2
|
|
count: int = 30
|
|
cursor: int = 0
|
|
secUid: str
|
|
|
|
|
|
class UserPlayList(BaseRequestModel):
|
|
count: int = 30
|
|
cursor: int = 0
|
|
secUid: str
|
|
|
|
|
|
class UserMix(BaseRequestModel):
|
|
count: int = 30
|
|
cursor: int = 0
|
|
mixId: str
|
|
|
|
|
|
class PostDetail(BaseRequestModel):
|
|
itemId: str
|
|
|
|
|
|
class PostComment(BaseRequestModel):
|
|
aweme_id: str
|
|
count: int = 20
|
|
cursor: int = 0
|
|
current_region: str = "US"
|
|
|
|
|
|
# 作品评论回复 (Post Comment Reply)
|
|
class PostCommentReply(BaseRequestModel):
|
|
item_id: str
|
|
comment_id: str
|
|
count: int = 20
|
|
cursor: int = 0
|
|
current_region: str = "US"
|
|
|
|
|
|
# 用户粉丝 (User Fans)
|
|
class UserFans(BaseRequestModel):
|
|
secUid: str
|
|
count: int = 30
|
|
maxCursor: int = 0
|
|
minCursor: int = 0
|
|
scene: int = 67
|
|
|
|
|
|
# 用户关注 (User Follow)
|
|
class UserFollow(BaseRequestModel):
|
|
secUid: str
|
|
count: int = 30
|
|
maxCursor: int = 0
|
|
minCursor: int = 0
|
|
scene: int = 21
|