摘要: 在临时解决好robots文件的bug后,发现爬虫在爬行数小时后依然会出错,且该错误原因不明,从定位的出错代码无法看出任何错误相关信息,初步判断该bug应该是与并行化有关。 对于稳定爬虫拟采取以下三个方式:目前的爬虫是基于NCrawler的dotnet3.5版,利用vs2010的并行化支持,对其并行化之后实现的。该方法实现了对不同网站的并行爬行,大大提高了爬虫的效率,可是原版本在并行化后,可能导致出现bug,估计上述无法确定的错误就于此有关。NCrawler还提供了dotnet4.0版,已经是并行化的版本了,但是其本身只对同一个网站并行爬行。此种方法对于爬虫的效率提高能力有限,因对同一网站不间. 阅读全文
posted @ 2010-03-12 16:56 不死鸟2013 阅读(415) 评论(2) 推荐(1) 编辑
摘要: 想把NCrawler的内部信息全部输出,因为已经通过VS2010对其进行了并行化,就意味着同时有数个NCrawler在同时运行。要统计每个爬虫解析获得的url数、下载队列中的域名url数、下载成功及失败的url数。这个时候就想起了静态变量了,用在这个地方太合适不过了。仅仅需要定义四个不同的静态变量用以记录上面关心的几个数字,不管并行都少个爬虫都轻松搞定,而且静态变量合适线程安全的。So good! 阅读全文
posted @ 2010-03-12 16:54 不死鸟2013 阅读(226) 评论(0) 推荐(0) 编辑