【GUI爬虫工具】快手聚合采集软件,含三大爬取功能:搜索评论、主页作品、链接转换

0 阅读5分钟

本工具仅限学术交流使用,严格遵守相关法律法规,符合平台内容的合法及合规性要求,禁止用于任何商业用途!

一、开发背景与效果展示

1.1 开发初衷

我是 @马哥python说 ,一枚10年+程序猿,现全职独立开发。

快手作为国内头部短视频社交平台,凭借其独特的普惠流量分发机制和庞大的创作者生态,覆盖了从一二线到下沉市场的海量用户群体。无论是热点追踪、内容分析还是用户洞察,快手都蕴含着丰富的数据价值。

针对快手平台数据的独特性,我用python独立开发了一款工具“爬快手聚合软件”。这款软件将评论采集、达人主页作品采集、链接转换三大功能集于一身,打造一站式的快手数据采集方案。

1.2 适用场景

软件适用于以下场景:

  • 获客截流:通过目标行业、品牌热门作品下的评论区,精准定位潜在用户;
  • 舆情分析:采集快手话题数据,用于社媒舆情监控、品牌口碑研究等;
  • 内容参考:分析热门作品的内容风格与爆款话题,为创作方向提供数据支撑;
  • 运营协作:处理不同格式的链接/uid互转,方便跨工具、跨平台的数据流转。

1.3 效果展示

功能1-采集搜索作品及评论(指定关键词采集作品和评论)

运行界面: 运行界面-采集搜索作品及评论

采集到的作品数据,包括12个字段:关键词,页码,视频标题,话题标签,视频链接,点赞数,观看数,视频时长_秒,发布时间,作者昵称,作者uid,作者主页链接。 结果数据-搜索作品

采集到的评论数据,包括10个字段:作品id,作品链接,页码,用户昵称,用户id,用户主页,评论时间,评论点赞数,评论级别,评论内容。 结果数据-评论

功能2-采集详情作品(指定作品链接采集作品详情)

运行界面: 运行界面-采集作品详情

采集到的作品详情,包括18个字段:关键词,作品id,作品链接,视频标题,话题标签,作者昵称,作者uid,作者主页链接,发布时间,视频时长_秒,点赞数,观看数,评论数,收藏数,转发数,IP属地,封面链接,视频直链。 结果数据-作品详情

同时支持下载这些链接的视频mp4文件,方便归档,如下: 视频文件-作品详情

功能3-采集主页作品(指定主页链接采集作品)

运行界面: 运行界面-采集主页作品

采集到的主页作品数据包含12个字段:页码,作者昵称,uid,作者链接,视频标题,视频标签,视频链接,发布时间,视频时长,点赞数,收藏数,观看数。 结果数据-主页作品

同时支持下载主页中的视频mp4文件,方便归档,如下: 视频文件-主页作品

功能4-主页链接转快手号

运行界面: 运行界面-主页链接转ks号

结果数据: 结果数据-主页链接转ks号

功能5-快手号转主页链接

运行界面: 运行界面-ks号转主页链接

结果数据: 结果数据-ks号转主页链接

功能6-app端作品链接转pc端作品链接

运行界面: 运行界面-app端作品链接转pc端作品链接

结果数据: 结果数据-app端作品链接转pc端作品链接

以上是6个主要功能的介绍。

1.4 软件说明

使用前请留意以下几点:

1. Windows / Mac 均可直接运行,无需配置编程环境
2. 三大核心功能:① 关键词/作品链接采集评论 ② 主页链接采集作品 ③ uid与链接互转
3. 采用接口协议采集,非模拟浏览器等RPA方案,稳定性更高
4. 采集完成后,自动在当前文件夹生成 csv 结果文件
5. 每采集一页即自动保存一次csv,防止异常中断导致数据丢失(每页间隔 1~2s)
6. 运行过程记录详细日志,方便回溯排查

二、核心技术

2.1 模块分工

软件全部基于 Python 开发,各模块分工如下:

序号模块用途
1tkinter构建gui图形界面
2requests发送网络爬虫请求
3json解析接口返回的响应数据
4pandas清洗并保存csv数据结果
5logging记录运行日志

2.2 代码片段示例

发送请求并解析数据:

# 发送请求
r = requests.get(url, headers=h1, params=params)
# 解析数据
json_data = r.json()

遍历评论内容字段:

for data in json_data['rootCommentsV2']:
    # 评论内容
    content = data['content']
    content_list.append(content)

保存数据到 csv 文件:

# 保存数据到DF
df = pd.DataFrame(
    {
        '作品id': video_id,
        '作品链接': 'https://www.kuaishou.com/short-video/' + video_id,
        '页码': page,
        '用户昵称': author_name_list,
        '用户id': author_id_list,
        '用户主页': author_link_list,
        '评论时间': create_time_list,
        '评论点赞数': like_count_list,
        '评论级别': comment_level_list,
        '评论内容': content_list,
    }
)
# 保存到csv
if os.path.exists(self.result_file2):  # 如果文件存在,不再设置表头
    header = False
else:  # 否则,设置csv文件表头
    header = True
df.to_csv(self.result_file2, mode='a+', index=False, header=header, encoding='utf_8_sig')
self.tk_show('视频[{}]第{}页已保存到csv: {}'.format(video_id, page, self.result_file2))

日志记录模块:

def get_logger(self):
    logger = logging.getLogger(__name__)
    formatter = "[%(asctime)s-%(filename)s][%(funcName)s-%(lineno)d]--%(message)s"
    logger.setLevel(logging.DEBUG)
    if not logger.handlers:
        sh = logging.StreamHandler()
        log_formatter = logging.Formatter(formatter, datefmt="%Y-%m-%d %H:%M:%S")
        info_file_name = time.strftime("%Y-%m-%d") + ".log"
        case_dir = "./logs/"
        info_handler = TimedRotatingFileHandler(
            filename=case_dir + info_file_name,
            when="MIDNIGHT",
            interval=1,
            backupCount=7,
            encoding="utf-8",
        )
        logger.addHandler(sh)
        sh.setFormatter(log_formatter)
        logger.addHandler(info_handler)
        info_handler.setFormatter(log_formatter)
    return logger

三、使用指南

3.1 配置 Cookie

启动采集前,先用《cookie小工具》自动配置个人cookie: cookie小工具

这样,就会自动写入软件目录下的 cookie.txt 文件,告别繁琐的手动获取过程。

3.2 登录软件

将 Cookie 配置好后,启动软件进入登录界面,点击登录完成身份认证。

3.3 开始采集

  1. 登录成功,选择所需功能模块(搜索作品及评论采集 / 主页作品采集 / 链接转换)
  2. 配置参数(关键词、时间范围、目标链接等)
  3. 点击「开始执行」,实时查看采集进度
  4. 采集完成,在当前文件夹查看 csv 数据文件或已下载的视频

3.4 演示视频

软件完整使用流程请参考演示视频:

mp.weixin.qq.com/s/bqP01MKMjP9oazzW0gkh0Q

END、原创声明

"爬快手聚合软件"首发于众公号"老男孩的平凡之路",软件仅限于学术交流技术探讨,请勿用于商业用途!