NCrawler老是出问题,头痛……

  需要做一个爬虫,最开始看到网上对larbin评价不错,就想着在它的基础上改改,结果后来发现我这个从来没在linux上做过开发的人,这么一下在上手效率是在太低。

  想找个基于Windows的C或者C++的开源爬虫结果没发现有合适的。于是不得已只能转投C#阵营了,虽然不是很熟,但毕竟是微软的,比起直接转到java还是简单不少。

  千辛万苦找到了NCrawler,发现相对于其他几个比如ArachNode.Net和OpenWebSpiderCS代码量还是要小很多,而且作者一直在开发,感觉不错,于是就决定使用它了。

  因为NCrawler一个爬虫只爬一个域名下的网页,我需要爬很多个网站,于是就利用VS2010对并行计算的支持,对其爬虫进行了并行化,大大的提高了其爬行速度。

  但是长时间跑下来,每天总要出两个错。一开始没有关闭VS2010的IntelliTrace,结果总是定不了错误的位置,直接导致IntelliTrace.exe崩溃。搞不明白怎么回事?为什么不停在出错的代码位置呢?

  后来才发现IntelliTrace之后就可以定位错误了。第一个错误是在“远程主机强制关闭连接时”导致NCrawler用于解析robots文件的RobotRules.dll出错。找到RobotRules的源码加入工程后发现修改很麻烦,于是乎直接把robots文件解析部分给屏蔽了,先稳定了再做。

  跑了一天之后又出问题了,这个我就更看不懂了……

  output.Write(buffer, 0, bytesRead); 这句话竟然报错了,buffer长度为1024,bytesRead大小也是1024,不明白……

   继续除错中!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值