TikTok 标签表现分析(追踪的创作者)
Web Data Collection Specialist
TL;DR:
- TikTok主题标签的表现分析始于定义的帖子样本。 返回的主题标签与被跟踪的帖子描述该样本,而不是TikTok上的每一个帖子。
- 在分组之前需要对主题标签字符串进行规范化。 删除前导哈希,应用Unicode规范化,并进行不区分大小写的比较。
- 一个帖子可以贡献给多个主题标签组。 标签级总数重叠,不能像每个帖子属于一个独占类别那样相加。
- 中位数和样本计数使主题标签比较更容易审核。 一个高播放量的帖子可以扭曲平均值和总数。
- 主题标签共现是描述性证据。 一个标签的强度指标并不能证明该标签导致了结果。
- 免费开始。 新的Scrapeless账号通过Scrapeless仪表板包含免费额度。
介绍:主题标签报告的清晰度取决于其比较集
TikTok帖子通常包含多个主题标签,而它们的公共计数器描述整个帖子。这就产生了一个归因问题:附加到帖子的每个标签都继承相同的播放、喜欢、评论和收藏计数。
因此,一个有用的TikTok主题标签表现分析始于来自已知创作者和观察窗口的有限帖子集。该指南展示了如何分析TikTok帖子中的主题标签,规范化标签名称,比较所收集样本中的参与度,并发布一份保持重叠和不确定性可见的报告。
TikTok演员指南涵盖了在此工作流程中使用的配置文件、帖子和商店演员。
概览
| 阶段 | 动作 | 输出 |
|---|---|---|
| 收集 | 保存被跟踪创作者的公共帖子 | 带时间戳的原始快照 |
| 规范化 | 清理主题标签字符串和标识符 | 帖子到标签的行 |
| 分组 | 按创作者和观察窗口分区 | 可比较的标签样本 |
| 测量 | 计算计数、中位数和参与率 | 主题标签比较表 |
| 审查 | 标记小样本、重叠和异常值 | 分析准备报告 |
该报告测量所收集的帖子。这不是一个全平台的TikTok趋势指数。
先决条件
- 从
scraper.tiktok.user.work保存的JSON响应 - 每个响应中存储的创作者标识符和收集时间
- Python 3及其标准库
- 在对标签进行排名之前选择的最小样本规则
- 从Scrapeless仪表板收集新快照时的Scrapeless账户和API密钥
变换块是一个先决条件缺口,因为读者提供了保存的响应。它并未呈现虚构的实时结果。
阶段1:定义创作者和时间窗口
主题标签比较需要一个稳定的分母。在每个原始有效负载旁边存储创作者ID、收集时间戳、请求的游标、请求的计数和返回的帖子计数。如果比较多个创作者,请将每个创作者保留为一个单独的组,然后再生成合并视图。
TikTok开发者规范在其查询视频文档中列出了主题标签名称和公共互动计数,作为视频查询字段。Scrapeless通过TikTok帖子演员返回等效的帖子字段,包括hashtags、play_count、digg_count、comment_count和collect_count。
不要将一个创作者的完整旧目录与另一个创作者的近期帖子进行比较,并将差异标记为主题标签效果。使用匹配的观察窗口或在表中明确表明不匹配。
阶段2:规范化主题标签而不失去原始值
响应包含主题标签字符串,如#Example。保留原始值以供审查,并创建一个单独的规范化键:
- 应用Unicode NFKC规范化。
- 修剪空格。
- 删除一个前导
#。 - 使用
casefold()进行不区分大小写的比较。 - 在帖子到标签表中丢弃空值。
Python的Unicode数据库文档定义了示例中使用的规范化操作。规范化键防止视觉上等价的字符串拆分为单独的行,而原始标签保留了源返回的内容。
开始使用Scrapeless抓取
使用Scrapeless提升您的网络抓取和自动化工作流程!
今天注册并获得**$5的免费额度** — 无需信用卡。
现在在 Scrapeless Dashboard 领取您的免费积分
第3阶段:为每个帖子-标签对建立一行
将每个帖子扩展为每个唯一标准化标签的一行。消除每个帖子内重复的标签,因此一个帖子不能为同一标签计算两次。在每一行保留帖子 ID,因为标签组是重叠的。
注意:下面的代码需要读者提供的
posts-snapshot.json,该信息来自scraper.tiktok.user.work。该文件可以包含返回的帖子列表或包含该列表的对象,其data字段包含该列表。
python
import csv
import json
import statistics
import unicodedata
def normalize_tag(value):
text = unicodedata.normalize("NFKC", str(value or "")).strip()
return text.removeprefix("#").casefold()
def number(value):
try:
return int(value)
except (TypeError, ValueError):
return 0
with open("posts-snapshot.json", encoding="utf-8") as source:
payload = json.load(source)
posts = (
payload.get("items", payload.get("data", payload))
if isinstance(payload, dict) else payload
)
groups = {}
for post in posts:
play_count = number(post.get("play_count"))
engagements = sum(number(post.get(field)) for field in (
"digg_count", "comment_count", "collect_count"
))
engagement_rate = engagements / play_count if play_count else None
tags = {normalize_tag(tag) for tag in (post.get("hashtags") or [])}
for tag in sorted(tag for tag in tags if tag):
group = groups.setdefault(tag, {
"post_ids": set(), "plays": [], "rates": []
})
group["post_ids"].add(str(post.get("video_id") or ""))
group["plays"].append(play_count)
if engagement_rate is not None:
group["rates"].append(engagement_rate)
rows = []
for tag, group in groups.items():
rows.append({
"hashtag": tag,
"post_count": len(group["post_ids"]),
"median_plays": statistics.median(group["plays"]),
"median_engagement_rate": (
statistics.median(group["rates"]) if group["rates"] else ""
),
})
rows.sort(key=lambda row: (-row["post_count"], -row["median_plays"]))
with open("hashtag-performance.csv", "w", newline="", encoding="utf-8") as output:
writer = csv.DictWriter(output, fieldnames=rows[0].keys() if rows else [
"hashtag", "post_count", "median_plays", "median_engagement_rate"
])
writer.writeheader()
writer.writerows(rows)
该代码仅将零用于缺失的计数字段。缺失或零播放次数会使参与率保持空白,因为除法不会产生有用的比较。
第4阶段:在同一上下文中比较标签
一个实用的 TikTok 创作者标签分析表应包括创作者、观察窗口、标签、帖子数量、中位播放次数、中位参与率和小样本标志。Python 的 统计文档 定义了转化中使用的中位数。
在分析师视图中保留中位数和最大值。中位数描述了一个典型的样本帖子,而最大值使突出的帖子可见。避免将一个观察到的帖子高于由更广泛样本支持的标签进行排名,而不发出明确警告。
对于跨创作者的 TikTok 标签参与比较,首先计算创作者级别的行。然后,可以将组合行汇总这些创作者级别的结果,而不让高流量账户主导每个标签。
第5阶段:发布显示重叠的报告
最终的 TikTok 内容标签报告可以使用以下结构:
| 创作者 | 标签 | 帖子 | 中位播放次数 | 中位参与率 | 样本标志 |
|---|---|---|---|---|---|
| 跟踪账户 | 标准化标签 | 包含标签的收集帖子 | 帖子级别中位数 | 帖子级别中位数 | 足够或审查 |
添加说明,说明帖子可能出现在多个标签行中。因此,标签行的总计是不可加的。如果一个帖子包含三个标签,它的指标描述该帖子,并出现在三个描述性组中;数据无法隔离哪个标签影响了分布。
Scrapeless 通过 Scraping API 揭示 TikTok 行为者。在选择创作者覆盖范围和收集频率之前,请查看 当前定价页面。
负责任地处理创作者数据
收集必要的公共字段以进行所述分析,仅在报告目的需要的情况下保留创作者标识符,并限制对原始数据包的访问。 NIST 隐私框架 提供了管理隐私风险的一般结构。
标签分析应该支持内容审查,而不是对个别创作者的自动判断。在收集和使用公共帖子数据时,遵循适用条款、平台控制和当地法律。
结论:保持标签声明在样本内
当报告保留其收集窗口、创作者组、重叠标签和样本大小时,TikTok 标签性能分析就变得具有可辩护性。规范标签键,使用帖子级别的中位数,显示离群值,并将结果描述为收集帖子中的关联,而不是因果或全球趋势声明。
准备好制作标签报告了吗?
加入 Scrapeless Discord 或 Telegram 社区 讨论帖子到标签的架构。当创作者观察列表准备好时,在 Scrapeless Dashboard 创建一个账户。
常见问题
问:团队如何分析 TikTok 帖子中的标签?
团队可以通过保存有界的帖子样本、标准化每个返回的标签、将帖子扩展为帖子到标签的行以及比较样本计数的指标来分析 TikTok 帖子中的标签。
问:播放次数最多的标签是否会导致更好的表现?
不。带有标签的帖子播放次数较高显示了样本中的关联,并未确立标签造成了结果。
问:为什么标签报告应该使用中位数?
中位数减少了一个异常大帖子的影响,使典型样本帖子更容易进行比较。
问:这个工作流能识别全球 TikTok 标签趋势吗?
此工作流程无法识别全球 TikTok 标签趋势,因为它分析附加到收集的创作者帖子上的标签,而不是以平台范围的标签搜索。
问:团队需要管理帖子页面选择器吗?
TikTok 帖子演员通过 API 返回结构化帖子字段。调用者管理创作者选择、观察窗口、存储、标准化和报告。
问:抓取公共 TikTok 帖子数据合法吗?
合法性取决于管辖权、目的、访问方法、适用条款和收集的字段。出于允许的目的使用公共数据,并为预期的工作流程寻求法律建议。
在Scrapeless,我们仅访问公开可用的数据,并严格遵循适用的法律、法规和网站隐私政策。本博客中的内容仅供演示之用,不涉及任何非法或侵权活动。我们对使用本博客或第三方链接中的信息不做任何保证,并免除所有责任。在进行任何抓取活动之前,请咨询您的法律顾问,并审查目标网站的服务条款或获取必要的许可。



