笔者应实验室的要求购买了八爪鱼的“旗舰+”套餐,499元一月。 看到网上关于这款软件的问答还是比较少的,这里想就这款软件说说自己的看法。
首先是这款软件的定位。我觉得这款软件虽然定位是爬虫,但是不适合真正做爬虫的程序员。因为它属于可视化的爬虫操作,这也是这款软件最大的卖点。爬虫的人不需要任何的代码基础也可以进行爬虫。所以如果你本身就会自己敲代码进行爬虫,再用这个软件就不值得了。
当时笔者买这款软件是因为我们要爬取的数据量比较大,笔者写的代码无法解决IP被禁的问题,即使使用了IP代理,结果仍然不理想。然后实验室的一个管理人员让我买八爪鱼,他说他以前用过。当时我也没多想,因为毕竟不是自己的钱嘛,就买了。买了之后就真心觉得这个不适合自己。送的500个代理IP对于我的28万数据来说就是杯水车薪,因为笔者的目标网站一个IP爬了十几个数据就禁了。
但是这个软件对于不会编程但是又想进行爬虫的人来说还是比较友好的。不过我觉得没必要,与其花这个多钱去买这个软件,还不如找爬虫接单的呢。实在不行来找笔者啊~
然后说说笔者使用这款软件的一个坑,当时我想采集的有组数据,其子元素具有不确定性。就是它的子元素是我的采集目标,但是可能没有,也可能有多个。这种情况怎么办呢,当时我可是思考了很久。解决办法是点击这些元素的父级元素,然后选择采集这个元素的Inner Html
这就相当于把这个元素的所有内部代码采集下来了。然后对这段代码进行处理。假设刺客的代码如下:
<span class="tag green-tag">IDC服务器</span>
<span class="tag red-tag">僵尸主机</span>
<span class="tag red-tag">垃圾邮件</span>
笔者的目标是把每个属性用分好隔开后存储。这里用到的功能是数据格式化,点击刚刚的选择采集的字段,然后点下方的编辑按钮——点击格式化数据:
先添加第一个步骤,选择替换:
第一步,根据采集到的代码规则,把所有的</span>替换成分号,这样就在每个属性之间有了分号。
第二步,把剩下的代码都删除。这里笔者用正则表达式把<>包含的内容全删除。具体操作办法为,添加第二个步骤,选择正则表达式替换,参数如下:
至此,数据的格式工作就做好了。笔者还是觉得不如自己敲代码写的效率高。