网络矿工是支持海量数据采集的,海量数据没有一个准确的定义,但我曾经测试,连续采集上百万条的数据是没有问题的,且网络矿工队资源占用也非常少(这部分的数据已经忘了,无法给出)。在此并非主要谈网络矿工采集海量数据的问题,而是重点说一下海量数据库的操作(当前仅考虑MSSqlServer),尽管与网络矿工采集无关,但还是对此做一了解:
1、网络矿工在连续insert的时候是随时关闭连接的,不会长时间打开连接进行操作,避免对资源的占用;
2、对海量数据维护操作时,连续update时一定要确保数据表的优化及服务器性能,否则会经常出现超时,我曾测试,连续update45W条数据(表大概有100W条,字段为12个字段,8个vchar,4个int,int主键),不会出现超时,但一定要对数据表进行索引的优化,服务器资源也要充分考虑,甚至有必要,需调整sqlserver默认的超时设置;
3、日志的重要性,当频繁对数据库进行操作时,日志的递增是非常快的,日志的容量如果超过2G,会频繁出现超时问题,此点非常重要,日志的问题会被忽视,但日志对数据性能的影响又非常直接;
第二个问题:User-Agent
这两天遇到很多朋友再问同一个问题,就是关于论坛数据的采集。在此给出一些思路:
1、论坛数据采集是需要实现登录的,登录的数据通常是存储在cookie中的,所以,只要记录cookie数据即可,记录cookie,同在配置采集任务中,基本设置,点击cookie旁边的按钮,打开网络矿工自带的浏览器实现登录,系统会自动捕获Cookie,保存退出即可;
2、在记录了cookie后,发现还是无法采集数据,通过Fiddler查看,原来是User-Agent的问题,使用网络矿工V1.81,在采集任务配置中,基本设置,http headers 添加User-Agent,即可。测试成功
实际过程很简单,但在这个过程很多人都无法正确配置,主要问题是不会使用Fiddler ,这几天抽空提供一个Fiddler的视频教程,希望可以帮到大家,呵呵