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