これは、htmlアジリティパックで特定のタグを取得するために使用する方法です。私はこの方法を使用してGoogleローカルのランキングを行います。それはかなりの時間がかかり、メモリを大量に消費するようですが、誰かにそれをより良くするための提案はありますか?htmlアジリティパックで解析を高速化
private void findGoogleLocal(HtmlNode node) {
String name = String.Empty;
//
// ----------------------------------------
if (node.Attributes["id"] != null) {
if (node.Attributes["id"].Value.ToString().Contains("panel_") && node.Attributes["id"].Value.ToString() != "panel__")
{
GoogleLocalResults.Add(new Result(URLGoogleLocal, Listing, node, SearchEngine.Google, SearchType.Local, ResultType.GooglePlaces));
}
}
if (node.HasChildNodes) {
foreach (HtmlNode children in node.ChildNodes) {
findGoogleLocal(children);
}
}
}
ありがとうございました! foreach(検索結果x) { GoogleLocalResults.Add(x); } –
HtmlNodeにはデフォルトで利用可能なIdプロパティがあるので、これを簡単にすることもできます。だから、x.Id.Contains( "panel_")&&!x.Id == "panel__"とx.Id == nullをチェックする必要はありません。 – jessehouwing