爬虫数据集滇西小哥YouTube频道TOP10热门视频的热评数据,共2W条!

Posted 马哥python说

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫数据集滇西小哥YouTube频道TOP10热门视频的热评数据,共2W条!相关的知识,希望对你有一定的参考价值。

数据集,2W条滇西小哥YouTube热门评论数据

一、背景介绍

滇西小哥是一位来自中国云南省的视频博主,他在YouTube上拥有超过1000万的订阅者和上亿的观看量。他的视频内容主要涵盖中国文化、美食、旅行、音乐和艺术等方面。滇西小哥通过分享自己的文化体验和独特的观点,成功地将中国文化传递到了国际社会并获得了广泛的关注。通过他的视频,许多外国人可以了解中国的文化遗产和传统习俗。滇西小哥讲解的内容既有很具代表性的中国传统文化,如风水、中医、茶艺等,也包括现代时尚的文化,如网络流行语等。通过他的视频,外国观众可以更好地了解当代中国文化,并更好地理解中国人的思维方式和价值观。并且在视频分享中传递出中国人温馨、友善、好客的传统美德。

二、爬取目标

爬取目标:滇西小哥频道TOP10热门视频的TOP2000热门评论(共计2w条)

每个视频下方的TOP2000评论,同样按热门排序。比如TOP1视频的评论如下:

也就是滇西小哥频道的10个视频,每个视频2000条评论,共2w条评论,爬取完成。(10*2000=2w)

三、结果展示

先看下我整理的滇西小哥TOP10热门视频列表:

下面看爬取到的评论数据。
共10个评论数据文件,每个文件对应一个视频,每个文件内含2000条评论。
(文件名并不是乱码,而是YouTube视频id号哦)

随便打开一个文件,比如TOP1热门视频的评论,看下内容:
包含字段:评论id、评论内容、评论时间、评论作者、作者频道、点赞数。

四、演示视频

【爬虫数据集】爬取滇西小哥YouTube频道TOP10热门视频的热门评论

五、附完整数据

完整数据:【爬虫数据集】滇西小哥YouTube频道TOP10热门视频的热评数据,共2W条


by 马哥python说

YouTube 数据 API 某些视频不返回频道

【中文标题】YouTube 数据 API 某些视频不返回频道【英文标题】:YouTube Data API some videos do not return channel 【发布时间】:2016-06-05 16:09:21 【问题描述】:

我使用 YouTube 数据 API 从查询结果(视频)中获取一些信息。

大多数视频都能正确返回数据。但是有些视频没有返回他们的频道标题(所有其他字段都返回正确)。

    com.google.api.services.youtube.YouTube.Search.List search = youtube.search().list("id,snippet");
    search.setKey(getString(R.string.APIKEYYOUTUBE));
    search.setQ("hi");
    search.setType("video");
    search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/medium/url,snippet/channelTitle,snippet/publishedAt)");
    search.setMaxResults(7);

        [...]

    String vId = rId.getVideoId();
    String test = singleVideo.getSnippet().getChannelTitle();

例子:

第二个视频返回:

vId = "Kgw9xKQX-dI"
test = "htmailru"

第三个视频返回:

vId = "Q_6XNufgvA4"
test = ""

但如果我证明 youtube 中的第三个视频 ID,它(如预期的那样)有一个频道标题。

有什么想法吗?

【问题讨论】:

您在阅读特殊字符、引号等时似乎遇到了问题,因为它们可能会转义您正在构建的字符串。解决此问题的方法是 Apache Commons IO 库或 Guava,而不是 shure。运气。 【参考方案1】:

这个问题似乎是在大约两年前报告的,但遗憾的是,Google 尚未做出回应。记者表示channelTitle在频道标题中有空格时返回空白。 (在您的示例中,Q_6XNufgvA4 的频道标题是“世界最佳视频”,其中确实包含一个空格。)

https://code.google.com/p/gdata-issues/issues/detail?id=6104

幸运的是,作为一种解决方法,channelTitle 在从videos.listchannels.list 返回时似乎可以正确填充。

videos.list:

使用搜索响应中的videoId

GET https://www.googleapis.com/youtube/v3/videos?part=snippet&
id=Q_6XNufgvA4&
fields=items%2Fsnippet%2FchannelTitle&
key=YOUR_API_KEY

返回


 "items": [
  
   "snippet": 
    "channelTitle": "World's Best Videos"
   
  
 ]

channels.list:

您可以从您的搜索响应 (items/snippet/channelId) 中获取 channelId 并发送如下请求。

GET https://www.googleapis.com/youtube/v3/channels?part=snippet&
id=UCHqBLGGOvojeQswyJptjukA&
fields=items%2Fsnippet%2Ftitle&
key=YOUR_API_KEY

返回


 "items": [
  
   "snippet": 
    "title": "World's Best Videos"
   
  
 ]

【讨论】:

谢谢。这工作正常。我只对返回“”的视频使用这种方式。可悲的是,这种方式花费了更多的时间和 api 单位(从可用的 50,000,000 中)。希望修复会到来。

以上是关于爬虫数据集滇西小哥YouTube频道TOP10热门视频的热评数据,共2W条!的主要内容,如果未能解决你的问题,请参考以下文章

爬虫+情感判定+Top10高频词+词云图热门弹幕python舆情分析

Python爬虫音频数据

.利用python获得豆瓣电影前30部电影的中文片名,排名,导演,主演,上映时间

从 VB.NET 频道获取 YouTube 视频

youtube api 获取频道货币化状态?

检索“Vanity”频道的 Youtube 频道信息