SE::YouTube::Video - YouTube 视频数据爬虫工具
爬虫工具概览
YouTube 视频数据爬虫工具。通过该爬虫工具,您可以抓取视频的所有主要数据,以及字幕和评论。您需要使用 YouTube 视频页面的链接作为查询。可以使用
SE::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 language | English | 选择界面语言 |
| Subtitles language | English | 选择字幕语言 |
| Comments pages count | 5 | 评论页数 |
| Pages count for replies | 3 | 每条评论的回复页数 |
| Pages count for related videos | 5 | 相似视频页数 |
| Login required is error | ☑ | 指示爬虫工具将需要登录的消息视为错误并重试 |