我正在建立一个购物比价引擎,需要构建一个爬虫引擎来执行每日的数据收集过程。
我决定使用C#构建爬虫。我有很多对HttpWebRequest/HttpWebResponse类的糟糕经验,它们被认为是针对大规模爬取高度不稳定和存在bug。因此,我决定不使用这些类。甚至在4.0框架中也有问题。
以上是我个人的经验。
我想听听专家的意见,他们有编写爬虫的经验,是否知道任何像Java的nutch和apache commons这样非常稳定且高度健壮的开源爬虫框架库。
如果已经在C#中存在某些现有的爬虫框架,我将继续在其之上构建我的应用程序。
如果没有,我打算从code project扩展此解决方案。
http://www.codeproject.com/KB/IP/Crawler.aspx
如果有人能给我提供更好的建议,我将非常感谢。
编辑:我要爬取的一些网站是使用非常复杂的JavaScript渲染页面,这增加了我的网络爬虫的复杂性,因为我需要能够爬取由JavaScript呈现的页面。如果有人在C#中使用了任何可以爬取JavaScript渲染的库,请分享一下。我已经使用过watin,但不喜欢它,我也知道selenium。如果您知道其他内容,请与我和社区分享。