1
1
<div align =" center " >
2
2
3
- # [ TikHub_PyPi ] ( https://pypi.org/project/tikhub )
3
+ # [ TikHub_API_PyPi ] ( https://pypi.org/project/tikhub )
4
4
5
5
「[ api.tikhub.io] ( https://api.tikhub.io/docs ) 」,是一个异步高性能的Douyin,TikTok数据爬取在线工具,此repo为基于该API的封装,方便各位开发者调用。
6
6
@@ -10,69 +10,22 @@ PyPi:[https://pypi.org/project/tikhub](https://pypi.org/project/tikhub)
10
10
11
11
</div >
12
12
13
- ## 注释
14
13
15
- > 本项目使用以下Emoji在开发图表中表明开发状态!
16
-
17
- | Emoji | 代表的含义 |
18
- | :---: | :---: |
19
- | 🚀 | 火箭 - 功能已编写完成并测试通过,并且已部署至生产环境。|
20
- | ✅ | 勾选符 - 功能已编写完成,但还有待测试,测试通过后将部署至生产环境。|
21
- | ❌ | 叉号符 - 功能尚未开始编写或还未编写完成。|
22
- | 🔜 | SOON符 - 功能已提出但尚未分配指定开发人员。|
23
- | ⚠️ | 警告符 - 功能出现问题待修复。|
24
-
25
- ## 项目进度
26
-
27
- | 状态 | API端点路径 | 功能 |
28
- | :---: | :---: | :---: |
29
- | 🚀 | ` /token ` | 生成` Bearer Token ` |
30
- | 🚀 | ` /users/me/ ` | 获取用户信息 |
31
-
32
- > 各接口端点需求
33
-
34
- | 状态 | 支持平台 | 需求 | 开始日期 | ETA日期 | 开发者 |
35
- | :---: | :--- | :---: | :---: | :---: | :---: |
36
- | 🚀 | 抖音, TikTok | 爬取单个视频数据 | 2022/10/08 | 已完成 | @Evil0ctal |
37
- | 🚀 | 抖音, TikTok | 爬取单个视频评论数据 | 2022/10/08 | 已完成 | @Evil0ctal |
38
- | 🚀 | 抖音, TikTok | 爬取配乐作品数据 | 2022/10/08 | 已完成 | @Evil0ctal |
39
- | 🚀 | 抖音, TikTok | 爬取用户主页视频数据 | 2022/10/08 | 已完成 | @Evil0ctal |
40
- | 🚀 | 抖音, TikTok | 爬取用户主页已点赞视频数据 | 2022/10/08 | 已完成 | @Evil0ctal |
41
-
42
- > 抖音相关接口生产部署 - API tags: Douyin
43
-
44
- | 状态 | API端点路径 | 功能 | issue |
45
- | :---: | :---: | :---: | :---: |
46
- | 🚀 | ` /douyin_video_data/ ` | 爬取单个视频数据 | 无已知问题 |
47
- | ⚠️ | ` /douyin_video_comments/ ` | 爬取单个视频评论数据 | 失效待更新 |
48
- | ⚠️ | ` /douyin_music_videos/ ` | 爬取配乐作品数据 | 失效待更新 |
49
- | 🚀 | ` /douyin_profile_videos/ ` | 爬取用户主页视频数据 | 无已知问题 |
50
- | 🚀 | ` /douyin_profile_liked_videos/ ` | 爬取用户主页已点赞视频数据 | 无已知问题 |
51
-
52
- > TikTok相关接口生产部署 - API tags: TikTok
53
-
54
- | 状态 | API端点路径 | 功能 | issue |
55
- | :---: | :---: | :---: | :---: |
56
- | 🚀 | ` /tiktok_video_data/ ` | 爬取单个视频数据 | 无已知问题 |
57
- | 🚀 | ` /tiktok_video_comments/ ` | 爬取单个视频评论数据 | 无已知问题 |
58
- | 🚀 | ` /tiktok_music_videos/ ` | 爬取配乐作品数据 | 无已知问题 |
59
- | 🚀 | ` /tiktok_profile_videos/ ` | 爬取用户主页视频数据 | 无已知问题 |
60
- | 🚀 | ` /tiktok_profile_liked_videos/ ` | 爬取用户主页已点赞视频数据 | 无已知问题 |
14
+ ## 使用示例
61
15
62
- ## 待办事宜 ` Todo ` 列表
16
+ > 查看 [ test.py ] ( https://github.com/TikHubIO/TikHub_PyPi/blob/main/test/test.py )
63
17
64
- - [ ] ⚠️ 修复` /douyin_video_comments/ ` 端点
65
- - [ ] ⚠️ 修复` /douyin_music_videos/ ` 端点
18
+ - Install
66
19
67
- ## 使用示例
20
+ ``` bash
21
+ pip install tikhub
22
+ ```
68
23
69
- > 查看 [ demo.py ] ( https://github.com/TikHubIO/TikHub_PyPi/blob/main/demo/demo.py )
24
+ - Usage
70
25
71
26
``` python
72
- import asyncio
73
- import time
27
+ from tikhub.api import *
74
28
75
- from tikhub.api import API
76
29
77
30
async def async_test () -> None :
78
31
# 异步测试/Async test
@@ -89,54 +42,62 @@ async def async_test() -> None:
89
42
start_time = time.time()
90
43
91
44
# 获取TikHub请求头/Get TikHub request header
92
- print (" Running test : API.authenticate()" )
93
- await api.authenticate()
45
+ r = await api.user_login()
46
+ print (" Running test : API.user_login()" )
47
+ print (r)
94
48
95
49
# 获取TikHub用户信息/Get TikHub user information
96
50
print (" Running test : API.get_user_info()" )
97
- await api.get_user_info()
51
+ r = await api.get_user_info()
52
+ print (r)
98
53
99
54
print (" \n Running ALL TikTok methods test...\n " )
100
55
101
56
# 获取单个视频数据/Get single video data
102
57
print (" Running test : API.get_tiktok_video_data()" )
103
- await api.get_tiktok_video_data(tiktok_url)
58
+ r = await api.get_tiktok_video_data(tiktok_url)
59
+ # print(r)
104
60
105
61
# 获取获取用户主页的所有视频数据/Get all video data on the user's homepage
106
62
print (" Running test : API.get_tiktok_profile_videos()" )
107
- aweme_list = await api.get_tiktok_profile_videos(tiktok_url, 20 )
108
- print (f ' Get { len (aweme_list )} videos from profile ' )
63
+ r = await api.get_tiktok_profile_videos(tiktok_url, cursor = None , count = None , get_all = False )
64
+ print (f ' Get { len (r )} videos from profile ' )
109
65
110
66
# 获取用户主页的所有点赞视频数据/Get all liked video data on the user's homepage
111
67
print (" Running test : API.get_tiktok_profile_liked_videos()" )
112
- aweme_list = await api.get_tiktok_profile_liked_videos(tiktok_url, 20 )
113
- print (f ' Get { len (aweme_list )} liked videos from profile ' )
68
+ r = await api.get_tiktok_profile_liked_videos(tiktok_url, cursor = None , count = None , get_all = False )
69
+ print (f ' Get { len (r )} liked videos from profile ' )
114
70
115
71
# 获取TikTok视频的所有评论数据/Get all comment data of TikTok video
116
72
print (" Running test : API.get_tiktok_video_comments()" )
117
- comments_list = await api.get_tiktok_video_comments(tiktok_url, 20 )
118
- print (f ' Get { len (comments_list )} comments from video ' )
73
+ r = await api.get_tiktok_video_comments(tiktok_url, cursor = None , count = None , get_all = False )
74
+ print (f ' Get { len (r )} comments from video ' )
119
75
120
76
# 获取音乐页面上的所有(理论上能抓取到的)视频数据/Get all (theoretically) video data on the music page
121
77
print (" Running test : API.get_tiktok_music_videos()" )
122
- aweme_list = await api.get_tiktok_music_videos(tiktok_music_url, 20 )
123
- print (f ' Get { len (aweme_list )} videos from music ' )
78
+ r = await api.get_tiktok_music_videos(tiktok_music_url, cursor = None , count = None , get_all = False )
79
+ print (f ' Get { len (r )} videos from music ' )
124
80
125
81
print (" \n Running ALL Douyin methods test...\n " )
126
82
127
83
# 获取单个视频数据/Get single video data
128
84
print (" Running test : API.get_douyin_video_data()" )
129
- await api.get_douyin_video_data(douyin_url)
85
+ r = await api.get_douyin_video_data(douyin_url)
130
86
131
87
# 获取获取用户主页的所有视频数据/Get all video data on the user's homepage
132
88
print (" Running test : API.get_douyin_profile_videos()" )
133
- aweme_list = await api.get_douyin_profile_videos(douyin_user_url, 20 )
134
- print (f ' Get { len (aweme_list )} videos from profile ' )
89
+ r = await api.get_douyin_profile_videos(douyin_user_url, cursor = None , count = None , get_all = False )
90
+ print (f ' Get { len (r )} videos from profile ' )
135
91
136
92
# 获取用户主页的所有点赞视频数据/Get all liked video data on the user's homepage
137
93
print (" Running test : API.get_douyin_profile_liked_videos()" )
138
- aweme_list = await api.get_douyin_profile_liked_videos(douyin_user_url, 20 )
139
- print (f ' Get { len (aweme_list)} liked videos from profile ' )
94
+ r = await api.get_douyin_profile_liked_videos(douyin_user_url, cursor = None , count = None , get_all = False )
95
+ print (f ' Get { len (r)} liked videos from profile ' )
96
+
97
+ # 获取抖音视频的所有评论数据/Get all comment data of Douyin video
98
+ print (" Running test : API.get_douyin_video_comments()" )
99
+ r = await api.get_douyin_video_comments(douyin_url, cursor = None , count = None , get_all = False )
100
+ print (f ' Get { len (r)} comments from video ' )
140
101
141
102
# 总耗时/Total time
142
103
total_time = round (time.time() - start_time, 2 )
@@ -145,11 +106,12 @@ async def async_test() -> None:
145
106
146
107
if __name__ == ' __main__' :
147
108
api = API(
148
- username = ' test ' ,
149
- password = ' test ' ,
109
+ email = ' EMAIL@EXAMPLE.COM ' ,
110
+ password = ' PASSWORD ' ,
150
111
proxy = None ,
151
112
)
152
113
asyncio.run(async_test())
114
+
153
115
```
154
116
155
117
0 commit comments