跳转到主要内容

SE::YouTube::Video - YouTube 视频数据爬虫工具

爬虫工具概览

YouTube 视频数据爬虫工具。通过该爬虫工具,您可以抓取视频的所有主要数据,以及字幕和评论。您需要使用 YouTube 视频页面的链接作为查询。可以使用 SE::YouTubeSE::YouTube 收集视频链接。使用 YouTube 视频爬虫工具,可以在多线程模式下采集视频的所有数据。

A-Parser 的功能允许保存 SE::YouTube::Video 爬虫工具的抓取设置以供后续使用(预设),设置数据抓取计划等等。

得益于内置强大的 Template Toolkit 模板引擎,可以将结果保存为您需要的任何形式和结构,该引擎允许对结果应用额外的逻辑,并以各种格式输出数据,包括 JSON、SQL 和 CSV

采集的数据

  • 视频标题和描述
  • 视频时长
  • 观看次数、点赞数和评论数
  • 预览图链接
  • 作者姓名、头像和频道链接,以及订阅者数量
  • 视频字幕(包括显示时间信息)
  • 标签列表
  • 评论列表(包括对评论的回复)
    • 评论 ID 和父评论 ID(针对回复)
    • 作者姓名、个人资料链接和头像
    • 评论文本和发布时间
  • 相似视频列表
    • 视频链接和标题
    • 作者和日期
    • 观看次数和视频时长
  • 视频章节信息 ($chapters)
    • 标题、以秒为单位的开始时间和预览图链接

功能

  • 选择界面语言
  • 选择字幕语言
  • 指定评论页数(每页约 20 条评论)
  • 指定每条评论的最大回复页数(第一页约 10 条回复,后续页约 50 条)
  • 指定相似视频页数(每页约 20 个视频)
  • 支持 Shorts 短视频

应用场景

  • 采集 YouTube 视频的统计数据
  • 抓取字幕和评论作为文本来源
  • 查找相似视频

工作特性

字幕语言选择逻辑

爬虫工具使用以下优先级(按降序排列):作者上传、作者上传的翻译版、自动生成、自动生成的翻译版。

例如,在爬虫工具中设置为抓取英语字幕,那么:

  • 如果视频有作者上传的英语字幕 - 将抓取作者上传的字幕
  • 如果视频有作者上传的字幕,但是其他语言 - 将抓取作者上传的翻译成英语的字幕
  • 如果视频没有作者上传的字幕,但有自动生成的英语字幕 - 将抓取自动生成的字幕
  • 如果视频没有作者上传的字幕,且自动生成的是其他语言(因为视频是其他语言) - 将抓取自动生成的翻译版

评论抓取

评论是在单线程中采集的,因此数据抓取过程可能相当漫长,尤其是在抓取大量页面和回复时。不建议设置过多的回复页数,通常 1-3 页即可,或者可以完全关闭回复抓取 - 这将大大提高工作速度。

查询

需要提供视频链接作为查询,例如:

https://www.youtube.com/watch?v=lWA2pjMjpBs
https://www.youtube.com/watch?v=EDwb9jOVRtU
https://www.youtube.com/watch?v=5NPBIwQyPWE

结果输出示例

得益于内置的 Template Toolkit 模板引擎,A-Parser 支持灵活的结果格式化,使其能够以任意形式以及结构化形式(如 CSV 或 JSON)输出结果。

默认输出

结果格式:

$query - $title\nViews: $viewsCount, likes: $likesCount, comments: $commentsCount\n

结果将输出视频链接、标题、点赞数、观看次数和评论数:

https://www.youtube.com/watch?v=5NPBIwQyPWE - Avril Lavigne - Complicated (Official Video)
Views: 571331713, likes: 3959948, comments: 143597
https://www.youtube.com/watch?v=EDwb9jOVRtU - Madonna - Hung Up (Official Video) [HD]
Views: 414662791, likes: 2153344, comments: 91895
https://www.youtube.com/watch?v=lWA2pjMjpBs - Rihanna - Diamonds
Views: 2104207258, likes: 10235971, comments: 394622

输出字幕

结果格式:

$query\n$subtitles.format('$text ')\n\n

结果将输出视频链接和指定语言的字幕。

输出到 CSV 表格

内置工具 tools.CSVLine 允许创建正确的表格文档,可直接导入 Excel 或 Google 表格。

通用结果格式:

[% tools.CSVline(query, p1.author, p1.date, p1.duration, p1.title, p1.viewsCount, p1.likesCount, p1.commentsCount, p1.tags.format('$tag,')) %]

文件名:

$datefile.format().csv

初始文本:

Link,Author,"Publish date",Duration,Title,"Views count","Likes count","Comments count",Tags

提示

通用结果格式中应用了 Template Toolkit 模板引擎

在结果文件名中,只需将文件扩展名更改为 csv。

要在任务编辑器中使用“Prepend text”选项,需要激活“More options”。 在“Prepend text”中按逗号分隔写入列名,并将第二行留空。

可能的设置

参数名称默认值描述
Interface languageEnglish选择界面语言
Subtitles languageEnglish选择字幕语言
Comments pages count5评论页数
Pages count for replies3每条评论的回复页数
Pages count for related videos5相似视频页数
Login required is error指示爬虫工具将需要登录的消息视为错误并重试