我建立了一个小爬虫,现在尝试当我发现爬行某些网站时,我的抓取工具使用98-99%的CPU。
我用dotTrace
来看看这个问题可能是什么,它指出了我对我的httpwebrequest
方法-我的优化它有点与这里计算器以前的一些问题的帮助..但问题仍然存在。
然后我去看了一下网址是:使CPU的负载,发现它实际上是在规模非常大的网站 - 去图:)所以,现在我99%肯定它与下面的一段代码,这样做:
HtmlAgilityPack.HtmlDocument documentt = new HtmlAgilityPack.HtmlDocument();
HtmlAgilityPack.HtmlNodeCollection list;
HtmlAgilityPack.HtmlNodeCollection frameList;
documentt.LoadHtml(_html);
list = documentt.DocumentNode.SelectNodes(".//a[@href]");
所有我想要做的是提取页面上的链接,所以对于大型网站..反正是有,我可以得到这个没有用这么多的CPU?
我想也许限制我取? 什么是我最好的选择吗?
当然,一定有人以前碰到这个问题:)