采集利器 - Web Scraper教学及示例

声明

本文章是以学习和交流为目的,数据源所有权归属原网站及所有者,严禁利用本文所提流程和数据进行盈利。

“砸钉子的方式有很多种,有的时候自己最熟悉的锤子反而会砸到自己”

背景

最近接到了一个协助请求,是采集一个网站,传统的“list+content”的页面模式,用PHP或者采集器总会出现各种莫名的问题,基本上到这一步后我都会采用“node+puppteer”来搞,采用自动化测试工具来模拟操作,虽然说是把万能锤子,但是造这个锤子的过程和技术复杂度还是存在的,于是转向之前一直考虑但没有尝试的方向——浏览器插件,基本原理和思路和自动化工具基本一致,不过使目标逻辑与浏览器有更好的契合,感觉比较优雅。
在查阅资料时,发现了Web Scraper,参照文档和教程将其应用在了目标网站采集上,最终也获得了数据,整个操作流程如果熟悉的话,可以很快的设定好相应规则实施采集,现将流程记录一下。

流程

1. 安装 web scraper
如果你掌握科学上网技巧,可以登录chorme网上商店直接搜索进行安装
在这里插入图片描述
或者百度搜索“web scraper 离线安装包”以获得相关支持,离线安装过程就不再赘述。
2. 分析目标站
可以看到这是一个典型的列表+内容的显示方式,现在需要将列表和内容页都采集下来,传统的采集思路的话就是用程序将整个列表页拉回来,然后解析其中的超链跳转,再获取其中内容页面。
在这里插入图片描述
在这里插入图片描述
现在来看一下该如何用 web scraper 进行数据采集。
3. 设定规则
因为采集工具是通用的,至于说怎么采、采那些数据这些规则都需要用户来根据实际情况进行配置,先了解一下web scraper怎么打开和基本页面
① 打开工具
在目标网页页面打开开发者工具(F11或右键-检查),可以看到工具栏中最后多了一个同名标签页,点击标签页便进入了工具页面
在这里插入图片描述
② 新建采集任务
采集之前需要先建立一个 Sitemaps,可以把它理解为一个任务,选择 Create new sitemap - Create Sitemap
在这里插入图片描述
Sitemap name为任务名称,按需创建即可。
Start URL 为你采集页面,如果是列表+内容模式,建议填写列表页。
然后 Create Sitemap,一个基本的任务就建立好了。
在这里插入图片描述
在这里插入图片描述

③ 建立列表页规则
点击 Add new selector 用以建立一个选择器,告知插件应该采什么节点,对于这种列表页也存在信息的页面,我们将每一个信息作为一个块,块中包含了各种属性信息,建立方式如下:

需要将 Multiple 选项勾上,该选择可以理解为需要循环获取。

在这里插入图片描述
添加完毕后我们该标注信息块中的内容,具体操作方法和上面一致,但是要将该信息的父选择器选为刚才建立好的信息块节点。

在这里插入图片描述
其余节点数据操作一致,记得选好父节点。
④ 检查已建立规则
回到首页
在这里插入图片描述
我们可以看到刚才建立的根节点,点击 Element preview 可以查看选择的节点,点击Data preview可以看到配置好的节点数据,如果为null 请检查前面的操作是否正确。
在这里插入图片描述
工具提供了查看流程图的功能,可以很好的了解业务流,路径如下
在这里插入图片描述在这里插入图片描述
点击Sitemap demo - Scrape,进入采集启动页面,配置请求时间,时间不要太短,防止对源站产生不利影响,自主权衡。
在这里插入图片描述
点击 Start 会弹出采集框,不需要管它,回到工具中,点击 refresh 获取数据
在这里插入图片描述
至此,列表页采集完毕,下面开始考虑如何采集内容页面。
⑤ 内容页规则设计
点击列表页时是打开新页面,那么该如何采集数据呢?
随便打开一个内容页,然后将地址复制回刚才列表页地址栏中访问。
现在希望插件能模拟操作,规则如下:
在这里插入图片描述
Type 这边的话,我们需要选择 Popup Link,看了一些教程都是Link,适用于超链不同的跳转方式,根据需求选择即可。
现在看一下 graph
在这里插入图片描述
看到下面建立的 jump 节点后,即为告知工具模拟链接跳转操作进入内容页。
剩下的就简单了,还是按照前面列表页的节点选择方式,不过此时的父节点应该选择为刚才建立的 jump节点。
完整节点如下:
在这里插入图片描述
⑥ 关于翻页
我们不可能直采第一页的内容,对于这个需求,插件也给出方法,即在Start Url中填写page 参数,
[1-20]标识1到20页,按需填写
在这里插入图片描述
⑦ 采集
Scrap
在这里插入图片描述

4. 导出数据
在这里插入图片描述

总结

我们在建立节点时,能看到很多类型,这些也是为了更好的适应诸如瀑布流等信息的页面,还有很多的地方没有用,有机会再深入研究。
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值