浏览器爬虫插件webscraper使用详细实操教程抓取数据工具入门进阶(仅供学习交流,勿用作商业)

谷歌爬虫插件webscraper使用详细实操

webscraper插件是一款谷歌的爬虫插件,一键拖拽就可以安装,方便操作。这个插件对于不会编程的人来说很友好,只用学会通用的操作步骤,基本可以满足日常的学习或者其他获取数据的需要。

工具优缺点介绍

就我个人使用而言,简单谈一谈这个插件的优缺点吧。
优点:
1、自然不用说就是可视化工具,只需要简单鼠标选中爬取区域操作,不需要学习像python啦这种爬虫语言。
2、爬取完成后可以导出xlsx文档,数据分类清晰直观。
缺点:
1、需要首先对插件的几个概念有所理解,比如sitemap、selector、element click、父子节点
2、看自己的爬取需求复杂度,如果简单爬取,那用到工具的text可能就够了,而大部分情况下,很多人爬的数据量多一些,会用到翻页,或者跳转二级页面。这样的话就需要多操作操作实例。
3、有些网站使用鼠标选中不准确,可能就需要一点html/css知识,不过这个也不是多难,找到数据的位置,把盒子的css定位找到,按照格式填写就可以。
4、遇到网站加载比较慢时,需要看情况而定,因为这个工具是完全爬完才可以结束,并拿到数据。所以如果中间想停了,直接断网,然后再连接,刷新数据,既可以拿到爬取的结果。

插件中一些概念扫盲

1、我们爬取的数据本质是什么?
我觉得在使用这个插件之前,我们先要大概理解下,我们要爬取的目标本质是个什么。首页在你的目标网站页面,右键点击‘检查’:
在这里插入图片描述
在这里插入图片描述
我们可以看到,这个页面的数据,其实就是一个html网页(程序语言上讲),把检查的框拖大一点,大概看一下它的结构:
在这里插入图片描述
我们可以看到,它里面最核心的其实就是一堆div盒子。所以可以这么理解,页面上的这些数据,基本都是放在这个盒子里的,那么就好了。这个基础理解了之后,那么后面我们就知道,鼠标选中了哪个盒子,就爬取哪个盒子的数据。

2、sitemap

sitemap可以这么理解,就相当于你用当前这个插件,新建了一个爬虫工作区,后面的爬虫操作都在这个里面进行。

3、selector

selector这个意思是选择器,直观的理解就是,我们的鼠标要选中的区域

4、element click

这里涉及到一个父子选择器,可以这么理解,比如翻页。我第一个节点,框到了所有大的div盒子,然后让自动点击下一页。接着在这个节点里面,新建一个子节点,具体爬取单个div盒子的某个内容。

插件实操1:爬取知乎热点数据

当然上面的只是一个基础的解释,不理解没有关系,直接看这里的实操,自己演示一遍,多操作操作就明白了,光听理论是没用的。

1、爬取一个当前页的数据:爬取zhi乎的近期热点数据
在这里插入图片描述

开始操作,操作步骤:
1> 右键检查,并点击web scraper插件的tab:
在这里插入图片描述

2> 新建一个sitemap(我们的爬虫项目,或者工作区),create sitemap,这里的名字可以随便起,比如我叫:zhihu
url贴上当前页面的url
在这里插入图片描述

ok了,这样我们的工作区就建完了

3> 新建selector,选择爬取项
在这里插入图片描述
这里我们可以注意到:有一个_root节点,这个就是最外层的节点,后面的操作内容都要在这个之下

接着开始,填写selector里面的内容,id:info(可以随便起),Type:Text(默认的,我们先用这个),select,点击这个后,页面鼠标光标移动到的盒子区域,就会变成浅黄色,点击要爬的区域,就编程红色,然后选中既可
在这里插入图片描述
在这里插入图片描述

当然,这个只是选中了一个区域,如果要爬多组数据,可以继续选中第二个标题,那么这页的数据就都选中了
在这里插入图片描述

然后点击 Done selecting就完成选中工作

这个时候会看到,select后面的输入框里面,多了我们选中盒子的标识:
这块可以留意一下,后面遇到难题这里可以救命
在这里插入图片描述
同时下面的Multiple也选中,因为要爬多个数据:
在这里插入图片描述
最后save selector

4> 同理,可以继续新建下一个selector

5> 爬取
选择中间这个 sitemap zhihu下拉框,选择scrape
在这里插入图片描述
网站响应还ok的话,这里默认2000就行(2000单位是毫秒,也就是2秒)
在这里插入图片描述
start scraping
在这里插入图片描述
完成后点击 refresh
在这里插入图片描述
就能(预览)看到我们爬取的数据

如果这里爬取的数据有残缺,有的没爬到,可以继续编辑原来的info和info2两个selector,选择大一点的盒子
在这里插入图片描述
但是我们看到,这里的数据每条不对应,为什么呢?

原因是,我们这样分开爬取的两个数据,是相互独立的,没有关系,所以自然无法对应。
这里得用,就是父子节点。
父子节点的意思是,父节点把最外层的数据包裹住,也就是我先取所有盒子,然后再取盒子里面的内容。
最外层先建一个父节点,选择一个大的盒子,然后子节点爬取这个盒子里的局部数据,这样就可以对应了。

父节点:
父节点selector这里注意的是,Type选择Element
在这里插入图片描述
两个子节点:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
爬取数据:
这样完整的数据都爬下来了,如果你仔细看,会看到那个热度值会跟当前页面不太一样,那是因为我们爬取的是热点数据,它在实时变动,你刷新一下网页就能看到,有些热度增加了。所以这个就爬取成功了。

在这里插入图片描述

6> 下载数据到本地
Sitemap zhihu选择下拉框 Export Data
在这里插入图片描述

然后有两种格式可以选择
在这里插入图片描述
下载完成后,本地数据查看:
在这里插入图片描述

7> 本例子json串如下:
这里说一下如何查看json串,这个就是爬虫生成的脚本了,生成以后就可以让别人导入使用。

Sitemao zhihu下拉框选择:Export Sitemap
在这里插入图片描述
{"_id":“zhihu”,“startUrl”:[“https://www.zhihu.com/creator/hot-question/hot/0/hour”],“selectors”:[{“id”:“info”,“parentSelectors”:["_root"],“type”:“SelectorElement”,“selector”:“div.css-3yxeqs”,“multiple”:true,“delay”:0},{“id”:“text1”,“parentSelectors”:[“info”],“type”:“SelectorText”,“selector”:“div.css-3dzvwq”,“multiple”:false,“delay”:0,“regex”:""},{“id”:“redu”,“parentSelectors”:[“info”],“type”:“SelectorText”,“selector”:“div:nth-of-type(4) div.css-16eyt6t”,“multiple”:false,“delay”:0,“regex”:""}]}

插件实操2:爬取翻页所有数据

1> 这个是朋友让我帮忙爬取的一个网站
https://7seasnft.com/explore-v2
在这里插入图片描述
2> 新建sitemap
前面的步骤,如何切到web scraper,可以看上一个例子的步骤,这里就不赘述了。
在这里插入图片描述
3> 新建父节点
父节点,也是和前面一样,需要选择为Element类型的,但是这里我们要实现翻页,所以类型需要选为:Element click。
这里的Element click和上面的Element,可以这么区别,不翻页的话,就是选中爬虫的区域是这些所有的盒子,而翻页的话需要在这个基础上加上点击下一页,也就是多了click来点击下一页的按钮。

id: info
Type:Element click
selector:(这里就是来选中爬虫区域的)
在这里插入图片描述
在这里插入图片描述
Click selector: (这里就是在选完所有爬虫区域后,我们要点击的下一页的按钮)
在这里插入图片描述
选择这个。这里有个坑,就是在选择了这个小的区域后,我试了下爬不出来数据,后来我选择了一个大的框(还是要多试试吧):
在这里插入图片描述
Click type: (这里说的是,点击下一页,是点一次,还是点多次,我们选择click more这个选项,意思就是循环点击下一页)
在这里插入图片描述
Click element uniqueness:选择Uniqe HTML+Text

Delay:6000(看自己的网站响应,慢的话可以多延迟点)
其他的选项默认既可

4> 新建子节点(这里就是来爬取具体内容了)

子节点这里在选择我要爬的标题的时候,死活选不中,看来鼠标选中这个不好使了
在这里插入图片描述
这里就得用另一种办法:
页面选择到Element这个tab,然后用那个箭头去找这个标题所在的div
在这里插入图片描述
找到它是在这个盒子里:
在这里插入图片描述
所以这里的标题,我们直接填写:
在这里插入图片描述
同样的办法,我们再找到,后面两个的:
最后交易盒子:
在这里插入图片描述
在这里插入图片描述
最高出价盒子:
在这里插入图片描述
在这里插入图片描述
好了我们 的子节点也建好了

5> 测试爬取
这里的话,因为数据比较多,所以如果想爬取一部分,中间可以断一下网,然后就可以看到数据了
在这里插入图片描述
延迟时间,根据自己的情况而定
在这里插入图片描述

开始爬取
在这里插入图片描述
断网一下
在这里插入图片描述
测试爬取成功

6> 导出本地
在这里插入图片描述
7> 例子json串
{"_id":“seas5”,“startUrl”:[“https://7seasnft.com/explore-v2”],“selectors”:[{“clickElementSelector”:“button.btn-next”,“clickElementUniquenessType”:“uniqueHTMLText”,“clickType”:“clickMore”,“delay”:6000,“discardInitialElements”:“do-not-discard”,“id”:“info”,“multiple”:true,“parentSelectors”:["_root"],“selector”:“div.col-xl-3”,“type”:“SelectorElementClick”},{“delay”:0,“id”:“biaoti”,“multiple”:false,“parentSelectors”:[“info”],“regex”:"",“selector”:“h5.card-title”,“type”:“SelectorText”},{“delay”:0,“id”:“zuihoujiaoyi”,“multiple”:false,“parentSelectors”:[“info”],“regex”:"",“selector”:“div.me-5”,“type”:“SelectorText”},{“delay”:0,“id”:“zuigaochujia”,“multiple”:false,“parentSelectors”:[“info”],“regex”:"",“selector”:“div.text-sm-end”,“type”:“SelectorText”}]}

【以上内容仅供学习交流,切勿用作非法用途】

写在最后

觉得有用,记得一键三连哦!

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

anmu4200

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值