4

HTML Agility Pack を使用して、w Web ページから URL を取得しています。URL は次のとおりです。

http://goo.gl/DqfQl

以下のコードを使用すると、必要なリンクが取得されます。

String html = getHtml("http://goo.gl/DqfQl");

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();

doc.LoadHtml(html);

HtmlNodeCollection address_rows = doc.DocumentNode.SelectNodes("//div[@class='name']/a"); 

foreach (HtmlNode row in address_rows)
{
    MessageBox.Show(row.GetAttributeValue("href",LINK_NOT_FOUND));
}

しかしHtmlNodeCollection、containg を取得するようにdiv変更しclass="row'、URL を取得したい場合、常に最初の URL を取得します。

HtmlNodeCollection address_rows = doc.DocumentNode.SelectNodes("//div[@class='row']"); 

foreach (HtmlNode element in address_rows) {
    MessageBox.Show(element.SelectSingleNode("//div[@class='name']/a").GetAttributeValue("href",LINK_NOT_FOUND));
}   

私はこのコードで少し遊んで、しばらくの間、うまくいったと思っていました。しかし、今では 2 番目のコード スニペットを使用して、必要なすべての URL を選択することはできません。手伝ってくれますか?

4

1 に答える 1