Web Scraper傻瓜式爬虫插件之进阶套路

图文|娘酷

上一篇文章中我介绍了Web Scraper的基本用法,接下来的内容中,我将接着介绍Web Scraper在收集多层级的数据的进阶套路。


进阶套路

仍然以我的简书关注列表为例,这一次我不仅想要收集我都关注了谁,我还想要他们的一些个人信息,如:他们的粉丝数,关注数,文章数,一共写过多少字。

如图所示,是关注列表中的第一位

我的关注列表中有96张如图所示的卡片,我们暂且称之为名片。每张名片中包含了此人的多维度信息,头像、网名、关注数、粉丝数、文章数、写了多少字,获得了多少个喜欢,甚至还可以算上单击他网名跳转的个人主页的链接。那么这里,就存在一个二级包含关系,名片是要收集的一级对象,而名字,粉丝数,关注数则是二级对象。而像名片这样在页面中存在多个,自己本身也包含多个二级对象的目标,我们称其为元素。抓取时Type选择为Element。

新建:shift+ctrl+I 唤出开发者工具 -> Web Scraper -> Create New Sitemap -> Sitemap Name:niangkufollowers; sitemap URL: https://www.jianshu.com/users/f354e815185f/following

添加元素对象(element):元素就像是一个书包内部可以包含多个目标,所以此处为了收集每个人的相关信息,将每一个名片看做一个元素。创建Selector,Type设定为Element,单击“select”按钮后,将鼠标移至名片处,选中第一个和第二个名片后,WS会自动圈起页面上其他名片(这个页面上有多个名片记得要勾选multiple)。Done Selecting! -> Save Selector

选择“国学上官清晨”和“谈心社”的名片后WS会自动选择其他相同类型的元素  

添加元素内二级目标:单击Element -> 依次添加二级目标(Add New Selector ):网名(name), 关注数(following),粉丝数(follower),文章数(posts),字数(counts)。类型全部选择“Text”。因为每个元素内都只含有一个网名,则不用勾选multiple。添加过程参照 基础套路

添加二级目标时WS会自动标黄第一个元素,可以直接在黄色区内选择目标  

有时想要选中的目标是带有跳转连接的,如本例中的网名,单击后会跳转就无法在selector中保存,这里的小技巧是,可以在“Done Selecting!”按钮左侧单击“Enable key”,就可以使用键盘进行操作。将鼠标移至对象上,单击键盘S键,就可以选中了。

让我们再爬一次!不用设置delay直接启动!Sitemap(niangkufollowers) -> Scrape 

YEAH!我们有了更多维度的数据

虽然我们有了更多维度的数据,但仍结果只有9个。如果我们想要跟多的数据该怎么办?仔细看一下这个网页,你会发现,它的加载方式是:滑到底部时会自动加载9条名片。滑动时加载,是动态加载的一种方式。除了滑动加载,还有点击更多按钮加载,点击页码加载。只有解决了网页的加载,让网页顺顺利利的把数据吐出来,我们才能完成完整的收集。


滑动加载

点击Sitemap(niangkufollowers) -> Selectors ->点击"Edit"编辑一级元素

果断把element的type改成“Element scroll down”

该类型会持续下滑把相同元素遍历为止
在Delay处写1500 或者2000都可以

这个Delay的意思就是让它向下滚动的时候等一会,滚太快抓不完就GG了,有时候抓太快也会触发网页的防爬虫机制就直接把你的网页关了。所以慢一点等一会效果更好噢。

让我们再试一次!Scrape!

YESSSSS! 搞定!

让我们再来看看其他加载方式下该如何操作呢


页码加载

当你想要抓取的页面地址带有页码的时候,处理办法在大欣的回答里有体现,直接加上你要抓取页数就好了。如:

https://www.zhihu.com/people/amuro1230/followers?page=2

其他步骤操作方法如上,只用在新建sitemap时将地址改写为:https://www.zhihu.com/people/amuro1230/followers?page=[1-69],虫虫就会自动翻页至第69页时结束

YEAH 全部抓下来啦


点击加载

有些页面的加载方式是地址不变,点击页码,或者固定按钮如“下一页”,“点击加载”等进行加载。那么这里也分为两类情况来讨论:只点击一次(如数字页码每个页码只点击一次),和点击多次(如多次点击同一个翻页按钮)

点击一次(Click Once)

我们以虾米上烟鬼的新歌Sick boy这首歌为例,讲一下如何收集虾米音乐的歌曲页面下方的评论列表内容

http://www.xiami.com/album/9cCZb9eaeb8?spm=a1z1s.6843761.1478643713.4.mAVSas

一共四页,共35条

可以看到评论仍然是呈卡片式的,可以设置为元素类型,每个卡片包含网名,时间,评论,赞数,弱数。 抓取评论的逻辑是:先逐条抓下该页的卡片,然后点击下一个页码,再重复以上动作。点击下一个页码意味着:2,3,4依次点击,对象唯一且只点击一次。我们先按照进阶套路中的步骤设置好element和二级目标。

此时 可以先试一下能否将第一页的内容抓下来

然后按照滑动加载中步骤,进入element编辑页面,将type修改为element click。

Selector的设置方法与上述元素的选择相同(如果是如上述步骤进行修改到这一步的,则不用重新选择)

在Click Selector处将页码依次选上,同时下方勾选multiple;Click type 点击类型为点击一次,即选中的对象每个只点击一次;Click element uniqueness 点击对象的唯一性中选择唯一文本,即每个数字只出现一次;delay 延迟设置为2000.

让我们试一次!Scrape!

ヾ(◍°∇°◍)ノ゙完美


点击多次(Click More)

在以上抓取虾米音乐评论的逻辑是顺序单击每个页码,我们也可以采取另一种方法,多次点击“下一页”这一个按钮,直到这个网页没有更多新内容。这种方法适用于没有页码按钮,只有“下一页”或者“查看更多”按钮时的状况,比如:

点击查看更多以加载

本例选择了绝对伏特加的广告页面(不知道网址是否永久):

http://absolutnights.cn/100nights/

目标仍然为收集卡片上的信息:地址,标题,内容,点赞数,评论数等等。Element和二级目标的设置参照上述步骤。

进入element编辑页面,将type修改为element click -> Click Selector 选择“查看更多”按钮 -> Click type选择Click more -> Delay 设置为2000 -> Save !!

然我们来看一下结果。

以上。

到这里,相信大家已经可以处理大部分的网页了,下一期我将具体介绍每种类型的选择器的应用场景(Selector),大家就会在设置虫虫的过程中更加得心应手了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容