爬虫数据集滇西小哥YouTube频道TOP10热门视频的热评数据,共2W条!
Posted 马哥python说
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫数据集滇西小哥YouTube频道TOP10热门视频的热评数据,共2W条!相关的知识,希望对你有一定的参考价值。
一、背景介绍
滇西小哥是一位来自中国云南省的视频博主,他在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.list
和channels.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舆情分析