新人第一次发文,请多多指教。
selenium设计目的是进行自动化测试,但是很显然这样的功能同样是爬虫所需要的。本文介绍如何用selenium爬取b站up动态。
无意中发现有很多up在动态中发布一些奇怪的福利,精心挑选的二次元美图。作为一只老二刺螈,当然不能让美图从身边溜走-------爬虫走起。具体的网页
首先分析网页结构:
????是up的uid。
打开开发者工具,发现动态是这样排列的:一条条动态
这些动态是由ajax动态加载的,作为一只菜鸡,我毫不犹豫的选择了用selenium,而不是分析request(懂得都懂)。
右键检查图片元素,发现了这个,被包含在一个动态里:图片url所在位置
显然,红线部分就是图片对应的url,可以看到中间有个@符号分开了两个jpg。
这个@有什么用呢,等把图片爬下来我们就会发现,后面的jpg只是一个缩略图。不仅清晰度差,尺寸还小。所以等会写正则表达式时注意,去掉@及后面的部分。
好,到此思路就清晰了:先确定你要爬取的up的uid,带入上面我们给的网址中。
用selenium打开这个网址,调用js,自动滚动,加载ajax,直到到底。(由于不是很熟悉前端,我用循环的方式,每隔一段时间检查一下dom的底部是否出现了特定的字符串,比如现在就是检测“你已经到达了世界的尽头”)。