JoeanAmier / TikTokDownloader

TikTok 主页/合辑/直播/视频/图集/原声;抖音主页/视频/图集/收藏/直播/原声/合集/评论/账号/搜索/热榜数据采集工具
https://github.com/JoeanAmier/TikTokDownloader/wiki/Documentation
GNU General Public License v3.0
7.15k stars 1.16k forks source link

作品有多个UID可能会出问题 #227

Open sansi98h opened 2 months ago

sansi98h commented 2 months ago

https://github.com/JoeanAmier/TikTokDownloader/blob/master/src/extract/extractor.py#L508

默认使用最后一个作品的UID,但是某些情况下,一个账号会采集到多个UID,因此概率出现问题,获取到错误的UID,可使用当前作品中最多的UID

一个作品多个UID的情况

image

最多的情况下可累计7 、8 个UID,这是其中的一个示例

image


        uid_lst = [item['author']['uid'] for item in data]

        from collections import Counter
        counts = Counter(uid_lst)

        # 获取出现次数最多的元素及其索引
        most_common_element = counts.most_common(1)[0][0]
        most_common_index = uid_lst.index(most_common_element)
        true_data = data[most_common_index]

        self.log.info(f"当前账号UID列表: { set(uid_lst) } , 最多的UID:{most_common_element}")

        item = self.generate_data_object(true_data)
JoeanAmier commented 2 months ago

提供一下能够重现问题的账号链接。

sansi98h commented 2 months ago

提供一下能够重现问题的账号链接。

链接1

链接2

只要采集结果列表中有多个UID,就有概率会出问题,时间一长,次数多,就100%出问题

JoeanAmier commented 2 months ago

以前发布作品接口不会返回非作者的共创作品数据,现在共创作品只要参与都会返回,多个 UID 就是共创作品导致的,下个版本会处理。