办公自动化和网页爬取的利器——Kantu
|

爬虫谁都能玩,再推荐一款超级浏览器插件 – Kantu

极诣的读者、粉丝通常是奔着干货来的数字营销者,因此如何帮助大家提高效率是我们主要的内容方向。

办公自动化和网页爬取的利器——Kantu
办公自动化和网页爬取的利器——Kantu

我们在过去介绍过如何轻松爬取天猫店数据了解竞争对手情报。当时我们介绍了webscraper这款相当好用的插件。今天我们将介绍另一款插件,它与webscraper可谓平分秋色,虽然不及前者效率高,但是对攻克webscraper无法应对的问题时非常管用。

这款名为Kantu的浏览器插件更接近于传统意义上的外挂,因此它除了帮助我们去爬取网页数据之外更能够使我们日常工作变得高效。凡是重复性的机械的工作都可以用它来解决,所以即便你对爬虫不是很感兴趣也没什么需求笔者也推荐你充分了解这款工具。

下载Kantu

Kantu目前支持Chrome和Firefox两款浏览器,如果你无法访问Chrome商店也可以选择Firefox。毕竟火狐还没有被墙。下载地址是https://ui.vision/

Kantu并不是完全免费的,如果你要大量使用XModules来真实模拟用户行为那可以考虑购买Pro,不然的话部分高级指令只能使用25次。不过Kantu的免费版本已经超级强大了。

制作并录制新的宏

我用一个实例来看看Kantu是怎么用的。今年早些时候Google下线了操作符info:,查看一个网页是否被索引变得麻烦了。因此我们要在Google Search Console中查询。

我们在浏览器中打开Google Search Console,打开Kantu插件,按蓝色按钮+Macro添加一个宏。然后点击Record进行录制。到此为止和我们平时的Excel录制宏没什么两样。录完以后你可以Play Macro试一下。

录制后发现查网站收录情况共分四步
录制后发现查网站收录情况共分四步

我们看到这里有四步,Open,Click,Type和Click。分别对应是

  1. 打开网址。
  2. 点击输入框。
  3. 输入网址。
  4. 点击搜索按钮。

由于我们每次查询可以接着在上一次的查询结果因此我们可以删除第一步Open和第二步Click。接下来我们就要把结果保存下来了。我们先不急,说保存之前我们先说读取。你可能注意到在上面的过程中输入数据是我们手输的,我们更希望的是从一个列表中读取,因为我们要查成百上千条网址。

读取CSV

我们先用Excel或者其他工具做一个CSV文件。

用Excel做一个CSV文件
用Excel做一个CSV文件

为了简化测试我们只放在A列,并且只放了两条网址。然后我们保存该CSV为urllist.csv。

回到Kantu,在右下角的CSV标签中选择Import CSV进行导入。导入后我们在第一条Open指令后添加一条csvRead,Target填入urllist.csv。

然后我们将原来的Type命令的Value更改为${!COL1},意思是读取第一列的值。Kantu脚本每跑一个循环只会读取CSV文件中的一行信息。如果你需要读取多个值可以利用第二列、第三列依此类推,参数对应的分别是${!COL2}和${!COL3}。

循环等待查询结果

改完了以后我们在脚本的最后再加上一套等待命令。

循环等待查询完成
循环等待查询完成

上图中的各步说明:

  1. type——输入一条查询网址
  2. click——点击查询
  3. label——添加循环标识WAIT
  4. pause——等一秒
  5. storeText——把页面上检索框下面那条网址记录到变量CURRENTURL
  6. gotoIf_v2——如果${CURRENTURL}!=${!COL1}那么回到WAIT

此时我们可以点击Play Macro旁边的下拉菜单,选择Play Loop,跑2圈。剩下的我们就要把结果保存下来了。

保存结果至CSV

我们将新增四步结果来保存爬到的结果,如下图:

跑过一次之后会自动新建CSV文档
跑过一次之后会自动新建CSV文档
  1. storeText——把网页中DOM元素内的文字存到变量INDEXATION,这里用的XPATH是xpath=//*[@id=”yDmH0d”]/c-wiz[3]/div/div[3]。你可以在Target,Select旁的Find按钮验证,如果你的情况不一样请自行调整。
  2. store——把网址添加入内置行变量!csvLine
  3. store——把INDEXATION也添加入内置行变量!csvLine
  4. csvSave——把!csvLine保存至文件result.csv

验证结果并调整性能

我们可以通过上面的脚本爬取原始数据,下载后可以在Excel中导入。

从Excel中导入含有原始数据的CSV文件
从Excel中导入含有原始数据的CSV文件

这里要注意的是导入时要选择UTF-8格式,不然会产生乱码。

最后我们在第一步加上一条加速命令store | fast | !REPLAYSPEED。这样脚本的执行速度会加快。在笔者的环境下两条网址花了不到20秒,这样的效率查200个网页的小型网址大约是半小时的功夫。把工作交给Kantu,你就可以把脚本放到后台自己去嗑瓜子看YouTube了。

后记

如果不是这款插件,你可能要用复杂的Python制作爬虫来对数据进行收集了。你可以看这篇Search Engine Journal的教程体会一下——《How to Automate the URL Inspection Tool with Python & JavaScript

Kantu还有其他非常强大的功能有待我们探索,凡是我们可以挂机的项目Kantu都可以实现。完整的脚本下载地址请在极诣公众号中回复kantu获取。

类似文章