九道门丨如何用Python抓取Youtube上的评论?

无论你是想在特定的 YouTube 频道上进行分析,还是只想练习网络爬虫技能,本文都将帮助你实现这两个目标。

由于 Youtube 不会一次加载所有评论,因此你需要滚动到页面底部才能加载更多评论。那么,我的想法是使用 Selenium 来自动化这个过程。

我会使用 selenium 来编写一个脚本,该脚本将:

1、滚动至页面底部

2、抓取新加载的注释

3、在可以滚动的情况下重复该过程

之后,我将使用 Pandas 将抓取到的数据存储在 Dataframe 中。

如果要安装这些包,还需要运行后续命令。

九道门丨如何用Python抓取Youtube上的评论?

让我们从导入库开始,加载 Selenium 的 chrome 驱动程序,并初始化变量。

九道门丨如何用Python抓取Youtube上的评论?

为了理解创建这些变量的目的,我留下了一些注释。

每次滚动到页面底部,Youtube 都会加载 20 条新评论。因此,我们要做的是创建一个函数来定位所有评论,并仅抓取最后 20 条评论,以避免创建重复项,减慢脚本的速度。

九道门丨如何用Python抓取Youtube上的评论?

此函数将查找评论部分中的所有用户名和所有评论,并且它将仅选择最后 20 条评论和用户名。之后,我们将循环查看最后 20 条评论和用户名,创建一个存储用户名和评论的字典,并将其附加到列表中。最后,函数将返回包含最后 20 条评论的列表。

接下来我们要做的是创建一个 while 循环,该循环将一直滚动,直到它到达页面底部,并在每次滚动时抓取最后 20 条评论。数据分析优质社群,等你加入哦~

九道门丨如何用Python抓取Youtube上的评论?

之后,我将页面上的新位置保存在 new_height 变量中,然后将页面上的新位置与页面上的最后一个位置进行比较。这样做是为了检查我们的脚本是否仍在加载新评论或已到达页面底部。一旦它到达页面底部,我就通过将滚动变量设置为 False 来中断 while 循环

我们现在要做的就是将所有数据存储在 Pandas Dataframe 中。

九道门丨如何用Python抓取Youtube上的评论?

以上就是使用 Selenium 自动化抓取内容的一个简单例子。我们还可以使用自然语言处理技术来分析和理解人们的情绪以及人们在评论中所说的内容,或者你可以尝试将这些评论分类为真实的评论和垃圾评论。

需要完整代码的可以在评论区留言或者后台私信我们。

九道门丨如何用Python抓取Youtube上的评论?

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章