自动加载评论

搬迁到语雀啦,地址在这,之后的更新都在语雀上了。
【更新】:2020.6.15添加了拓展程序-爬到沙发之后显示楼层号 的功能。

【声明:本文章的示例截图因为没有得到对方授权,所以作了马赛克处理。】
这篇文章讲的是小白在电脑的浏览器里怎么偷懒,自动翻wb评论到最早的评论。想直接看代码可以到另一篇博文

原理

目前采用的方法为:每1秒自动点击“加载更多”按钮。
因为评论的接口只有这个肯定能爬到几万的数据,其它的接口只能加载50页。所以就每1s自动点击一次触发请求。在实际测试中,评论数目很多的时候,会遇到服务器返回数据错误的情况,解决方案是记录上一次的按钮数据,然后appendChild后再click触发请求,一般来说就会拿到数据了。
(其实这是最蠢的办法,但只找到种能稳定请求到评论。所以还是放出了这个办法。有能拿到50页以后数据的童鞋求告知 T^T)

使用方法简述

先上使用方法总结,以免读者你被篇幅劝退。(本文是面向小白,所以步骤写得细致,文章略长(╯‵□′)╯︵┻━┻图片多了点,考虑的情况多了点,都是怕小白遇到意外情况不知道该怎么办,所以才都列出来)

  1. 在电脑的谷歌浏览器里打开要爬楼的微博详情页
  2. 排序选择按时间,并且将页面滚动到底部
  3. 拷贝代码,回车,等待。或者 打开插件,点击开始,等待。
  4. 看到“找不到加载更多按钮,请看看是不是翻到沙发了”的提示,听到音乐响起,恭喜,翻到沙发了。✿✿ヽ(°▽°)ノ✿

可以看到步骤3有两种方式,是因为自动翻评论这里提供两种使用方式选择,两种的功能是一模一样的,只是用户的使用方式有所区别:

  1. 谷歌浏览器的拓展程序包
  2. 直接在浏览器的console控制台处复制代码然后回车

用1谷歌浏览器拓展程序的话,使用起来长这样↓,不需要打开控制台,更简单。但是需要下载文件包到本地,并且在谷歌浏览器里加载这个程序。使用文档在这篇文章里。
在这里插入图片描述
而通过2直接拷贝代码在浏览器里唤起开发者工具运行,无需任何下载,使用起来如下:
在这里插入图片描述
以上两种方法代码是几乎一样的,只是使用方式不一样,一个是点按钮,一个是在浏览器的控制台上输入命令回车。读者可以根据自己的喜好选用~

本文将以“2直接copy运行代码”版为例,讲述使用方法、原理、各种情况处理、注意项及预计耗时等,方法1的文档在这哦。

-----------------------------------------------------------------------------------------------------------------------------------

先上翻成功的样子,也就是我们今天的栗子:它当前有54900条评论,使用程序自动翻,每1s翻15条,一共翻了1800+次,即半小时,翻到了沙发。可以算出来大概27000条评论是直接评论当前wb的,其它都是楼中楼。所以看到评论数不要慌,实际上可能没有那么多。end处有根据多次测试得出的 楼层数-所需时间 参考曲线哦~

当你看到提示“找不到加载更多按钮”的时候,基本就是翻到沙发了。 (*╹▽╹*)
爬到沙发的样子长这样↓,不会有额外的内容的比如“加载更多”或者“还没有人评论哦快来抢沙发”,如果有就代表服务器出错了,看 补充功能-还没翻到沙发却停止了 解决这个问题。
在这里插入图片描述
而服务器出错,就像下图一样,有不应该存在的“还没有人评论”。
在这里插入图片描述

注意:此代码不适用于某些账户的wb,即点开某条wb详情页时带这个框的,因为代码没做兼容:
在这里插入图片描述
好了,那我们开始吧。

准备

浏览器

你需要在电脑上打开一个浏览器。推荐使用chrome(谷歌浏览器)或firefox(火狐浏览器)。下面用chrome作示范。

找到目标微博

在浏览器里打开wb,并登陆。
找到你要翻评论的那条wb,通过点击评论按钮展开评论列表,并在评论底部点击“查看更多”跳转到此条wb的详情页。
详情页页面大概长这样
在这里插入图片描述

按时间排序并将页面滚动到底部

改变排序,点击"按时间",然后滚动到页面底部,看见“查看更多”按钮。 注意,一定要在有“查看更多”按钮的时候才可以运行下面的代码,不然不起效果的。
在这里插入图片描述

代码

唤起开发者工具

在网页里敲一下键盘的F12,或者ctrl+shift+i,或者鼠标右键点击“检查”(firefox是“检查元素”),唤起开发者工具。mac好像是command + option(alt) + i。实在不知道,可以搜索“你的浏览器名 打开控制台”看看如何打开。
唤起后的界面如下:
在这里插入图片描述

打开控制台

点击console(firefox里可能叫“控制台”),进入控制台,那么你应该看到这样的画面:
在这里插入图片描述

运行代码

将以下代码拷贝后,在上图界面处粘贴,然后回车运行。
聪明的小伙伴肯定知道不能随便运行一段别人给的不明代码,万一cookie被拿到了岂不是会被盗取账户。所以在我的另一篇博文里我解释了每行代码干了什么,以尽量证明安全,因为篇幅太长所以单独开一篇~

var i = 0;
var audio = new Audio("https://t.cn/A6Ag3iqY");//这里是结束后播放的音乐链接
var getMoreButton = document.getElementsByClassName("WB_cardmore"
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值