TikTok 抓取正在成为 2024 年企业的最大需求,因为 TikTok 迅速成为社交媒体上的一件大事,以其有趣的短视频和互动视频吸引了人们的注意力。和 每月活跃用户超过1亿 全球范围内每天上传数百万个视频,TikTok 已成为可供探索和分析的宝贵数据仓库。很多人喜欢使用它,这使得它成为广告商、科学家和软件创建者想要了解流行内容、人们如何行为以及正在流行的趋势的好地方。

TikTok统计

TikTok 成功背后的数字是惊人的。 TikTok 的下载量已超过 4.1十亿次。截至2024年,TikTok在全球的月活跃用户数超过1亿,在参与度和内容消费方面超过其他领先的社交媒体平台。该平台每天获得数十亿次视频观看次数,用户平均花费 每天55.8分钟 浏览他们的个性化提要。此外,TikTok 的搜索量猛增,数百万用户积极寻找各种主题的内容,从娱乐和生活方式到教育和 DIY 教程。

在本综合指南中,我们将使用 Python 和 Crawlbase 抓取 API 抓取 TikTok。您将学习如何抓取抖音粉丝、视频等。我们将引导您完成提取 HTML 内容、抓取搜索结果、处理分页以及保存数据以供进一步分析的过程。

目录

  1. 项目范围
  2. 先决条件
  3. 项目设置
  4. 提取 TikTok 页面 HTML
  5. 抓取 TikTok 搜索列表
  6. 抓取 TikTok 视频详细信息
  7. 抓取 TikTok 视频作者详细信息
  8. 抓取 TikTok 视频标签
  9. 完整代码 - TikTok Scraper
  10. 处理 TikTok Scraper 中的分页
  11. 将抓取的 TikTok 数据保存到 CSV 文件中
  12. 最后的思考
  13. 常见问题解答(FAQ)
  • 什么是 TikTok 抓取?
  • 为什么要抓取 TikTok?
  • 抓取 TikTok 合法吗?
  • 你能从 TikTok 中抓取什么?
  • 抓取 TikTok 的最佳方法是什么?

四、项目范围

在本指南中,我们的目标是提供有关使用 Python 和 Crawlbase Crawling API 抓取 TikTok 的用户友好教程。我们的项目重点是首先使用常用方法获取 HTML 内容。然后,我们将看到这些方法的问题。之后,我们将使用Crawlbase Crawling API来解决这些问题。此外,我们将使用 Python 的 BeautifulSoup 库来有效地理解和收集来自 TikTok 的数据。

我们将主要关注从 TikTok 中抓取各种元素,包括视频详细信息、作者信息、搜索结果中的主题标签。我们的目标是提出一种分步方法,以满足具有不同技术背景的用户的需求。

该项目的关键组成部分:

  1. HTML抓取:我们将利用 Python 和 Crawlbase Crawling API 来获取 TikTok 页面的完整 HTML 内容。这种方法可确保彻底提取数据,同时遵守 TikTok 的使用政策。我们将瞄准 TikTok SERP。
抖音搜索引擎结果页面
  1. 从 TikTok 中提取数据:我们的主要重点是使用 Python 中的 BeautifulSoup 从 TikTok 页面中提取特定的数据元素。这包括抓取所有搜索结果的视频详细信息、作者信息和主题标签。
  2. 处理分页:为了浏览 TikTok 结果的多个页面,我们将讨论 TikTok 使用的分页机制。这确保了在抓取过程中捕获所有相关数据。
  3. 保存数据:我们将探索存储或保存抓取数据的方法,提供保存到 CSV 文件以供进一步分析等选项。

通过概述项目范围,我们的目标是指导您完成全面的 TikTok 抓取教程,使该过程易于访问且可实现。现在让我们继续讨论该项目的先决条件。

2。 先决条件

在深入研究使用 Python 进行网络抓取 TikTok 领域之前,必须确保您具备必要的先决条件:

  1. Python基础知识:熟悉Python编程语言,因为它将用于编写抓取TikTok数据的脚本。理解变量、循环和函数等概念将会很有帮助。
  2. 创建爬网帐户:注册 Crawlbase 帐户并获取 API 令牌。需要使用这些令牌之一才能使用爬行 API 进行身份验证。注册后您可以在这里获取您的代币。前 1,000 个请求免费。无需信用卡!
抓取基础令牌
  1. 选择代币:Crawlbase 提供两种类型的令牌 - 为静态网站量身定制的普通令牌和为动态或 JavaScript 驱动的网站设计的 JS 令牌。 TikTok 严重依赖 JavaScript 渲染,因此我们将使用 JS Token。
  2. Python安装:您可以根据您的操作系统从Python官方网站下载Python。此外,确认 pip(Python 包管理器)的存在,它通常与 Python 安装捆绑在一起。
1
2
3
4
5
# 使用此命令验证 python 安装
python --version

# 使用此命令验证 pip 安装
点 - 翻译

通过满足这些先决条件,您将准备好自信而高效地开始您的 TikTok 抓取之旅。

3. 项目设置

要启动您的 TikTok 抓取项目,请按照以下步骤设置您的开发环境。

创建新的Python环境

首先为您的项目创建一个新的 Python 环境。您可以使用虚拟环境将项目依赖项与其他 Python 项目分开。使用以下命令创建一个名为“tiktok-env”的新虚拟环境:

1
python -m venv tiktok-env

激活虚拟环境

创建虚拟环境后,使用适合您的操作系统的命令激活它:

  • 对于Windows:

    1
    tiktok-env\Scripts\activate
  • 适用于 macOS 和 Linux:

    1
    资源 tiktok-env/bin/activate

安装所需的库

激活虚拟环境后,安装网页抓取所需的 Python 库。使用 pip 安装以下库:

1
pip 安装请求 beautifulsoup4 pandascrawlbase
  • 要求:用于向 TikTok 的服务器发送 HTTP 请求。
  • 美汤4:用于解析从 TikTok 页面检索的 HTML 内容。
  • 熊猫:用于数据操作和分析。
  • 爬虫库:用于使用 Crawling API 高效访问 TikTok 页面。

设置 Crawlbase API 凭据

确保您已获得 Crawlbase API 凭据,包括访问令牌。您将需要这些凭据来通过 Crawlbase 抓取 API 进行身份验证和访问 TikTok 页面。

初始化您的 Python 脚本

创建一个新的Python脚本文件 tiktok_scraper.py 用于您的 TikTok 抓取项目。您可以使用您选择的任何文本编辑器或集成开发环境 (IDE) 来编写 Python 代码。

通过执行这些设置步骤,您将拥有一个完全配置的开发环境,准备好开始从 TikTok 抓取数据。此设置可确保您在进行抓取项目时实现平稳高效的工作流程。

4. 提取TikTok页面HTML

抓取 TikTok 时,第一步是检索目标页面的 HTML 内容。完成这项任务有不同的方法,每种方法都有自己的挑战和考虑因素。

使用通用方法提取 HTML

从 TikTok 提取 HTML 的常见方法是将 HTTP 请求直接发送到 TikTok 的服务器。这可以使用 Python 库来实现,例如 Requests 用于发送请求。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
进口 要求
bs4 进口 美丽汤
进口 urllib.parse

# 对查询参数进行编码
编码查询 = urllib.parse.quote(“烹饪食谱”)

# 使用编码后的查询构造 URL
网址= f"https://www.tiktok.com/search?q={编码查询}"

# 发送 GET 请求来获取 HTML 内容
响应 = requests.get(url)

打印(响应.文本)

将以上代码复制到 tiktok_scraper.py 文件中,并在文件所在的目录中运行以下命令。

1
蟒蛇 tiktok_scraper.py

您将看到页面的 HTML 显示在终端上。

但为什么 HTML 中没有有用的信息呢?这是因为 TikTok 依赖 JavaScript 渲染来动态加载必要数据。不幸的是,使用传统的抓取方法,访问这些数据可能具有挑战性。 TikTok 的反抓取措施使这一过程进一步复杂化。因此,使用传统方法抓取 TikTok 可能不会产生令人满意的结果。

使用通用方法抓取 TikTok 时面临的挑战

使用通用方法抓取 TikTok 会带来一些挑战,包括:

抖音抓取时的挑战
  • 动态内容加载:TikTok 的网页通常使用 JavaScript 动态加载内容,需要专门的技术来准确提取数据。
  • 速率限制:TikTok可能会在一定时间范围内限制来自单个IP地址的请求数量,从而导致限速错误。
  • IP阻止:TikTok 可能会阻止发送过多请求的 IP 地址,从而难以抓取数据。虽然有办法 抓取网站而不被阻止,最好的方法是使用 TikTok 抓取工具。
  • 复杂的 HTML 结构:TikTok 的 HTML 结构可能很复杂且不断变化,这使得可靠地解析和提取相关信息具有挑战性。

为了克服这些障碍,我们将使用更智能的方法,并借助 Crawlbase 爬取 API.

使用 Crawlbase 抓取 API 提取 HTML

从 TikTok 中提取 HTML 的另一种方法是利用 Crawlbase 抓取 API。 Crawlbase 提供了一种可靠且高效的方式以编程方式访问 TikTok 页面,同时克服了常见的抓取挑战。它是 参数 让您轻松处理任何类型的抓取问题。

为了解决JS渲染问题,我们可以使用Crawling API提供的ajax_wait和page_wait参数。下面是一个使用的示例 抓取库 访问 Crawling API 并发送请求以获取 tiktok 页面 HTML 以及所需参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 爬行基地 进口 抓取API
进口 urllib.parse

# 初始化Crawlbase CrawlingAPI对象
爬行 API = 爬行 API({“令牌”: “CRAWLBASE_JS_TOKEN”})

选项= {
'ajax_等待': '真的',
'页面等待': 10000,
“用户代理”: “Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0”
}

# 对查询参数进行编码
编码查询 = urllib.parse.quote(“烹饪食谱”)

# 使用编码后的查询构造 URL
网址= f"https://www.tiktok.com/search?q={编码查询}"

# 向 Crawlbase 抓取 API 发出请求
响应=crawling_api.get(url,选项)

# 从响应中提取 HTML 内容
html_内容=响应[“身体”]。解码(“utf-8”)

打印(html_内容)

示例输出:

使用 Crawlbase 抓取 API 可以简化抓取过程,让您能够专注于轻松从 TikTok 中提取有价值的数据。

5. 抓取 TikTok 搜索列表

一旦我们提取了 TikTok 搜索结果页面的 HTML 内容,下一步就是从搜索结果中抓取特定的数据元素

我们首先提取 搜索列表,其中包括 TikTok 搜索页面上显示的所有搜索结果。

TikTok 搜索列表
1
2
3
4
5
6
7
8
 爬行基地 进口 抓取API
bs4 进口 美丽汤

# 抓取 TikTok 搜索列表的功能
DEF scrape_tiktok_search_listing(HTML):
汤 = BeautifulSoup(html, “html.解析器”)
搜索列表 = soup.select(“div[data-e2e='search_video-item-list'] > div”)
回报 搜索列表

6. 抓取 TikTok 视频详细信息

抓取 TikTok 视频详细信息,例如视频 标题、视频 URL、缩略图 URL、上传日期和观看次数,我们需要找到包含此信息的 HTML 元素。

TikTok 视频详情
1
2
3
4
5
6
7
8
9
# 抓取视频细节的函数
DEF scrap_video_details(显卡):
视频详细信息 = {}
视频详细信息[“标题”] = video_card.select_one(“div[data-e2e='search-card-video-caption'] > div > 跨度”).text.strip()
视频详细信息[“视频网址”] = video_card.select_one(“div[data-e2e='search_video-item'] a”)[“参考”]。条()
视频详细信息[“缩略图网址”] = video_card.select_one(“div[data-e2e='search_video-item'] img”)[“源”]。条()
视频详细信息[“上传日期”] = video_card.select_one(“div[class*='DivTimeTag']”).text.strip()
视频详细信息[「意见」] = video_card.select_one(“div[data-e2e='search-card-like-container''] > 强”).text.strip()
回报 视频详情

7. 抓取 TikTok 视频作者详细信息

我们可以提取作者信息,例如用户 姓名、个人资料 URL 和图像 URL 从每个视频卡。

TikTok 视频作者详细信息
1
2
3
4
5
6
7
# 抓取作者信息的函数
DEF scrap_author_info(显卡):
作者信息 = {}
作者信息[“用户名”] = video_card.select_one(“p[data-e2e='搜索卡用户唯一 ID']”).text.strip()
作者信息[“用户个人资料网址”] = “https://www.tiktok.com” + video_card.select_one(“a[data-e2e='搜索卡用户链接']”)[“参考”]
作者信息[“用户图像 URL”] = video_card.select_one(“a[data-e2e='搜索卡用户链接'] img”)[“源”]
回报 用户信息

8. 抓取 TikTok 视频标签

#标签 与搜索结果中的 TikTok 视频相关联,我们需要识别包含主题标签的 HTML 元素并相应地提取它们。

TikTok 视频标签
1
2
3
4
5
# 抓取主题标签的函数
DEF scrape_hashtags(显卡):
hashtags_elements = video_card.select(“a[data-e2e='search-common-link'] > 强”)
主题标签 = [tag.text.strip() 行李牌 in 主题标签元素]
回报 {“标签”:主题标签}

9. 完整代码-TikTok Scraper

以下是集成了从 TikTok 搜索结果中抓取数据的所有抓取任务的完整代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
 爬行基地 进口 抓取API
bs4 进口 美丽汤
进口 urllib.parse
进口 JSON

# 初始化Crawlbase CrawlingAPI对象
爬行 API = 爬行 API({“令牌”: “CRAWLBASE_JS_TOKEN”})

选项= {
'ajax_等待': '真的',
'页面等待': 10000,
“用户代理”: “Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0”
}

# 使用 Crawling API 获取 HTML 的函数
DEF make_crawlbase_request(网址):
全球化 爬行API,选项

响应=crawling_api.get(url,选项)

if 回复[“标题”]['pc_status'] == '200':
html_内容=响应['身体']。解码('utf-8')
回报 html_内容
其他:
打印(f"无法获取页面。Crawlbase 状态代码: {回复[“标题”]['pc_status']}")
回报 不包含

# 抓取 TikTok 搜索列表的功能
DEF scrape_tiktok_search_listing(HTML):
汤 = BeautifulSoup(html, “html.解析器”)
搜索列表 = soup.select(“div[data-e2e='search_video-item-list'] > div”)
回报 搜索列表

# 抓取视频细节的函数
DEF scrap_video_details(显卡):
视频详细信息 = {}
视频详细信息[“标题”] = video_card.select_one(“div[data-e2e='search-card-video-caption'] > div > 跨度”).text.strip()
视频详细信息[“视频网址”] = video_card.select_one(“div[data-e2e='search_video-item'] a”)[“参考”]。条()
视频详细信息[“缩略图网址”] = video_card.select_one(“div[data-e2e='search_video-item'] img”)[“源”]。条()
视频详细信息[“上传日期”] = video_card.select_one(“div[class*='DivTimeTag']”).text.strip()
视频详细信息[“观看次数”] = video_card.select_one(“div[data-e2e='search-card-like-container'] > 强”).text.strip()
回报 视频详情

# 抓取作者信息的函数
DEF scrap_author_info(显卡):
作者信息 = {}
作者信息[“用户名”] = video_card.select_one(“p[data-e2e='搜索卡用户唯一 ID']”).text.strip()
作者信息[“用户个人资料网址”] = “https://www.tiktok.com” + video_card.select_one(“a[data-e2e='搜索卡用户链接']”)[“参考”]
作者信息[“用户图像 URL”] = video_card.select_one(“a[data-e2e='搜索卡用户链接'] img”)[“源”]
回报 作者信息

# 抓取主题标签的函数
DEF scrape_hashtags(显卡):
hashtags_elements = video_card.select(“a[data-e2e='search-common-link'] > 强”)
主题标签 = [tag.text.strip() 行李牌 in 主题标签元素]
回报 {“标签”:主题标签}

# 抓取 TikTok 搜索结果的功能
DEF scrape_tiktok_search_results(网址):
# 获取页面的 HTML
html = make_crawlbase_request(网址)

# 抓取搜索列表(视频卡)
搜索列表 = scrape_tiktok_search_listing(html)

结果= []

显卡 in 搜索列表:
视频信息 = {}

# 抓取视频详细信息
video_info.update(scrape_video_details(video_card))

# 抓取用户信息
video_info.update(scrape_user_info(video_card))

# 抓取主题标签
video_info.update(scrape_hashtags(video_card))

结果.append(video_info)

回报 结果

# 主功能
DEF ():
# 对查询参数进行编码
编码查询 = urllib.parse.quote(“烹饪食谱”)

# 使用编码后的查询构造 URL
网址= f"https://www.tiktok.com/search/video?q={编码查询}"

# 抓取 TikTok 搜索结果
搜索结果 = scrape_tiktok_search_results(url)

# 打印抓取的结果
打印(json.dumps(搜索结果,缩进=2, 确保_ascii=))

if __名字__ == “__主要的__”:
主()

示例输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
[
{
“标题”: 《脆皮土豆零食食谱😋🔥订阅《烹饪艺术》YouTube频道,获取更多美味食谱生物频道链接😊”,
“视频网址”: “https://www.tiktok.com/@artofcooking.tiktok/video/7344763014572182789”,
“缩略图网址”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/a7ba950bfd354fea8ba88957ec787e37_1710085906”,
“上传日期”: “ 3-10”,
“观看次数”: “8.7M”,
“用户名”: “烹饪艺术.tiktok”,
“用户个人资料网址”: “https://www.tiktok.comhttps://www.tiktok.com/@artofcooking.tiktok”,
“用户图像 URL”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/68e2b4f33e4265c27e175f9a7e4409f3~c5_100x100.jpeg”,
“标签”: [
“#土豆零食”,
“#零食”,
“#ramzan食谱”,
“#iftar食谱”,
“#foryoupage”,
“#为你”,
“#fyp”,
“#烹饪艺术”
]
},
{
“标题”: 「脆皮土豆面包卷」,
“视频网址”: “https://www.tiktok.com/@recipesoftheworld.tiktok/video/7155082128521186587”,
“缩略图网址”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/91f98eef286a4c0dbf7756002e5f757a_1665922412”,
“上传日期”: “ 2022-10-16”,
“观看次数”: “6.6M”,
“用户名”: “世界食谱.tiktok”,
“用户个人资料网址”: “https://www.tiktok.comhttps://www.tiktok.com/@recipesoftheworld.tiktok”,
“用户图像 URL”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/287e9d47b7b6e119c3bf4875e6a46cd9~c5_100x100.jpeg”,
“标签”: [
“#recipesoftheworld”,
“#面包卷”,
“#零食”,
“#美食家”,
“#街头食品”,
“#fyp”,
“#foryoupage”,
“#HomeCafe”,
“#为你”
]
},
{
“标题”: “食谱建议克林🍽️”,
“视频网址”: “https://www.tiktok.com/@emanminivlogs1/video/7331450145223085317”,
“缩略图网址”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/oUJ7MeGiedhez4nVeHFCIHfIEwzLQitwKgAAxj”,
“上传日期”: “ 2-3”,
“观看次数”: “79.6K”,
“用户名”: “emanminivlogs1”,
“用户个人资料网址”: “https://www.tiktok.comhttps://www.tiktok.com/@emanminivlogs1”,
“用户图像 URL”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/b08b69344d859dede0f4b66994b54f68~c5_100x100.jpeg”,
“标签”: [
“#下一个”,
“#asmr”,
“#病毒性的”,
“#趋势”,
“#cookingasmr”,
“#病毒烹饪”,
“#烹饪”,
“#吃asmr”,
“#viralmacroni”,
“#德斯马克罗尼”,
“#asmreating”,
“#鸡肉意大利面”,
“#viralasmr”,
“#recipeasmr”,
“#和我一起做饭”,
“#详细食谱”,
“#fypppppppppppppppppppp”,
“#1百万试镜”,
“#unfreezmyaccount”,
“#unfreezmyid”
]
},
{
“标题”: “脆皮土豆三明治食谱 🥰(斋月特别版)请在 youtu.be 上关注我,了解更多斋月食谱。简介中的 YouTube 链接 😇”,
“视频网址”: “https://www.tiktok.com/@amnaarman90/video/7210834069200981274”,
“缩略图网址”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/71fbcc3ad04043619c95997e47da6604_1678903149”,
“上传日期”: “ 2023-3-15”,
“观看次数”: “12.3M”,
“用户名”: “阿姆纳曼90”,
“用户个人资料网址”: “https://www.tiktok.comhttps://www.tiktok.com/@amnaarman90”,
“用户图像 URL”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/6733899b34c05493e6a19312aa836259~c5_100x100.jpeg”,
“标签”: [
“#斋月”,
“#kitchenwithnoonzay”,
“#foryoupage”,
“#iftar食谱”,
“#土豆”,
“#三明治”,
“#cookingathometiktoktv”
]
},
{
“标题”: “只需3个土豆,你就能做出简单又美味的早餐”,
“视频网址”: “https://www.tiktok.com/@food_house9/video/7196970154150956314”,
“缩略图网址”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/ow3gD1Q4bAIBHObcAnRj2kB2xDDPeEetKM8QtN”,
“上传日期”: “ 2023-2-6”,
“观看次数”: “9.2M”,
“用户名”: “食物_house9”,
“用户个人资料网址”: “https://www.tiktok.comhttps://www.tiktok.com/@food_house9”,
“用户图像 URL”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/8652be952fa716926e3692e2f7135795~c5_100x100.jpeg”,
“标签”: [
“#快餐生活”,
“#美食家”,
“#美食爱好者”,
“#viraltiktok”,
“#病毒视频”,
“#声音效果”
]
},
{
“标题”: “Chicken Tikka(请订阅我的 Youtube 频道 | 频道名称 Foodie Girl Sara)”,
“视频网址”: “https://www.tiktok.com/@foodiegirlsara/video/7312480741495966981”,
“缩略图网址”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/65c2c0d1b2bf4e5a8c7115354b66c1e8_1702569652”,
“上传日期”: “ 2023-12-14”,
“观看次数”: “7M”,
“用户名”: “美食女孩萨拉”,
“用户个人资料网址”: “https://www.tiktok.comhttps://www.tiktok.com/@foodiegirlsara”,
“用户图像 URL”: "./在 TikTok 上查找“烹饪食谱”_ TikTok Search_files/6156698bab3718ccf78b2114227f7210~c5_100x100.jpeg",
“标签”: [
“#烹饪”,
“#食谱”,
“#食谱”,
“#foryoupage❤️❤️”,
“#fypshikeviral”,
“#户外烹饪”,
“#炒”,
“#foryo”,
“#TikTokFood”,
“#酸辣酱”,
“#食物”,
“#鸡”,
“#foryoupage❤️❤️”,
“#户外烹饪”,
“@KrucibleKitchen”
]
},
{
“标题”: “喝”,
“视频网址”: “https://www.tiktok.com/@royalfood.786/video/7280072204925046021”,
“缩略图网址”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/oYReMhDQIBQlcZCbfA8JIJEXOxI6AEApnBARBK”,
“上传日期”: “ 2023-9-18”,
“观看次数”: “6.4M”,
“用户名”: “皇家食品.786”,
“用户个人资料网址”: “https://www.tiktok.comhttps://www.tiktok.com/@royalfood.786”,
“用户图像 URL”: “./在 TikTok 上查找‘烹饪食谱’_ TikTok Search_files/716e07d8f30fbcb2cdf94cf9793c51ee~c5_100x100.jpeg”,
“标签”: [
“#不同”
]
},
.... 更多的
]

10. 处理 TikTok 抓取工具中的分页

在抓取 TikTok 数据时,有效地浏览多个搜索结果页面至关重要。 TikTok 实现了基于滚动的分页系统,当用户向下滚动页面时会加载新内容。

TikTok 滚动分页

为了处理这种分页,我们可以利用 Crawlbase Crawling API 提供的“scroll”参数。我们将在对 Crawlbase 爬行 API 的请求中将“scroll”参数设置为“true”。这指示 API 模拟向下滚动页面以加载其他内容。默认情况下,滚动间隔设置为 10 秒(10000 毫秒)。但是,我们可以根据需要使用“scroll_interval”参数调整此间隔。

我们可以更新 options 我们的脚本中的对象来配置分页处理,如下所示:

1
2
3
4
5
6
7
选项= {
'ajax_等待': '真的',
'页面等待': 10000,
“用户代理”: “Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0”,
'滚动': '真的',
'滚动间隔': 10000
}

11. 将抓取的 TikTok 数据保存到 CSV 文件中

一旦我们成功抓取了 TikTok 数据,就必须将其保存以供进一步分析或使用。存储结构化数据的一种常见方法是将其保存到 CSV 文件中。

下面是一个将我们抓取的 TikTok 数据保存到 CSV 文件中的函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
进口 CSV

DEF 保存到csv(数据、文件名):
# 定义 CSV 文件的字段名称
字段名 = [“标题”, “视频网址”, “缩略图网址”, “上传日期”, “观看次数”, “用户名”, “用户个人资料网址”, “用户图像 URL”, “标签”]

# 将数据写入CSV文件
打开(文件名, “w”, 换行="", 编码=“utf-8”) as csv文件:
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(数据)

# 用法示例:
# 将抓取的 TikTok 数据保存到名为“tiktok_data.csv”的 CSV 文件中
# save_to_csv(search_results, "tiktok_data.csv")

你可以叫这个 save_to_csv 函数使用抓取的 TikTok 数据和所需的文件名(例如 tiktok_data.csv)将数据保存到 CSV 文件中。

tiktok_data.csv 快照:

tiktok_data.csv 快照

12. 最后的想法

恭喜您使用 Crawlbase 抓取 API 和 Python 成功创建 TikTok 抓取工具!本指南为您提供了从 TikTok 轻松获取重要信息的专业知识和工具。

另外,请查看以下列表 抖音刷屏 我们为您创造。

现在您已经擅长 TikTok 抓取,您可以做很多事情。您可以从其他社交媒体帐户获取数据、进行市场研究、跟踪趋势等等。借助 Crawlbase 抓取 API,您可以自定义抓取以完全满足您的需求。

如果您想扩展您的网络抓取功能,请考虑探索我们以下有关抓取其他社交媒体平台的指南。

📜 最好的抖音刮刀

📜 如何抓取 Facebook

📜 如何抓取 Linkedin

📜 如何抓取 Twitter

📜 如何抓取 Reddit

📜 如何抓取 Instagram

📜 如何抓取 YouTube

有关更多自定义选项和高级功能,请参阅 Crawlbase 抓取 API 文档。如果您有任何问题或反馈,请随时联系我们 支持团队。我们随时为您的网络抓取之旅提供帮助,并帮助您实现数据收集目标。感谢您选择 Crawlbase 抓取 API,我们祝您在所有抓取工作中取得成功!

13. 常见问题 (FAQ)

问:什么是 TikTok 抓取?

TikTok 抓取涉及从 TikTok 平台提取数据,其中包括用户个人资料、视频详细信息、互动、主题标签等信息。此过程使用户能够收集数据用于分析、研究、趋势跟踪和其他目的。

问:为什么要抓取 TikTok?

通过抓取 TikTok,您可以提取有价值的数据用于各种目的,例如市场研究、趋势分析、内容创建和竞争对手分析。通过从 TikTok 收集信息,您可以深入了解用户行为、流行标签、热门话题和参与度指标。这些数据可用于为业务决策提供信息、改进营销策略并确定增长机会。

抓取 TikTok 的合法性取决于您如何使用数据以及您是否遵守 TikTok 的服务条款和数据使用政策。虽然 TikTok 的服务条款禁止自动抓取其平台,但在某些情况下,可能允许抓取用于研究、分析或个人用途。不过,有必要审查 TikTok 的服务条款并咨询法律专家,以确保遵守相关法律法规。

问:你可以从 TikTok 中抓取什么?

您可以从 TikTok 中抓取各种类型的数据,包括用户个人资料、视频、评论、点赞、分享、主题标签和参与度指标。通过正确的抓取技术,您可以提取有关趋势内容、受欢迎的创作者、受众人口统计和用户交互的信息。这些数据可以为 TikTok 的生态系统提供有价值的见解,并帮助您更好地了解其受众和趋势。

问:抓取 TikTok 的最佳方法是什么?

抓取 TikTok 的最佳方法包括采用专门的技术来克服 TikTok 的动态内容加载和 JavaScript 渲染。以下是一些推荐的方法:

  1. 无头浏览器和自动化工具:利用无头浏览器或 Selenium 等自动化工具来模拟用户与 TikTok 网站的交互。通过自动化滚动、单击和导航等任务,您可以动态加载内容并有效提取数据,包括 JavaScript 渲染的元素。
  2. TikTok 官方 API: TikTok 的官方 API 提供一种经过批准的方式来访问结构化数据,包括用户个人资料、视频、评论和点赞。虽然它们提供可靠性和易用性,但它们可能对数据访问有限制。此外,访问 TikTok 的官方 API 可能需要注册并遵守使用政策。
  3. 第三方API提供商:考虑使用第三方 API,例如 Crawlbase 爬取 API,提供 TikTok 数据集成服务。这些提供商提供全面的 API,具有针对数据提取量身定制的功能,可以无缝访问 TikTok 的内容,而无需处理复杂的抓取任务。

通过实施这些方法,您可以有效地抓取 TikTok 的有价值的见解、趋势和用户生成的内容,同时克服其独特的挑战,包括 JavaScript 渲染和反抓取措施。