我正在尝试在C#中实现一个有限的网络爬虫(仅针对几百个网站),使用HttpWebResponse.GetResponse()和Streamreader.ReadToEnd(),也尝试使用StreamReader.Read()和循环来构建HTML字符串。
我只下载大小约为5-10K的页面。
一切都非常缓慢!例如,GetResponse()的平均时间约为半秒,而StreamREader.ReadToEnd()的平均时间约为5秒!
所有的站点都应该非常快,因为它们非常接近我的位置并且具有快速的服务器。(在浏览器中下载几乎不需要时间)而且我没有使用任何代理。
我的爬虫大约有20个线程同时从同一个站点读取。这可能会导致问题吗?
如何大幅度降低StreamReader.ReadToEnd时间?