明显看得到吧,当我们拉动下滑条后,元素中的元素变多了,那个进度条变短了。
分析(x1)
======
那么就可以总结出来思路了,就是当我们用selenium模拟人打开一个浏览器,然后我们登录、点开群管理、找到需要采集的群点击(或者直接进入到当前群的url也是可行的)、最后就是拉动下滑条然后用selenium从网页元素上爬取数据咯。
应该不难理解吧,这其实就是我们刚才人为做的一个事情。我只是用selenium代替我们人去模拟这个事情再做一遍。
而我反复强调过:selenium的速度太慢太慢,尽量不要去使用它!
那么怎么办?抓包呗,网页源代码中没有数据,而下拉滑动条后网页元素中出现了该数据,不就是说明当我们拉动下滑条就执行了一些JavaScript脚本或者一些接口从而产生了数据?
数据也是不可能无中生有的,总有个来源,咱们监听下服务器与客服端的一个交流过程:
刷新当前网页抓包后,可以看到咱们抓的包当中生成了0-20就是21条数据,然后再看看这个包需要的参数:
是一个post请求,然后参数的话…gc貌似就是群的号码,然后st为0、end为20啥的估计就是说0-20总共21条数据吧,bkn…大头菜,明显不是一个时间戳,按道理是JavaScript加密。
我们再拉动点滑动条往下面拉,再抓一个包看看有没有什么参数发生变化:
果然0-20就是代表一个数据的排序,比如我第一个包是0-20是前面的21条数据