在C#中使用HtmlAgilityPack获取子节点的正确方法

时间:2016-06-28 02:01:15

标签: c# xpath web-scraping

我试图用HtmlAgilityPack抓取数据。但它没有像我预期的那样工作。我抓取的每个网页都包含一个项目列表,每个项目都包含名字和电子邮件。

<div class="item">
    <div>...
    <span class="first-name"></span></div>
    <div>...
    <span class="email"></span></div>
</div>

我的想法是从每个页面中提取所有div节点,然后从每个节点检索名字和电子邮件。我认为这会有效:

var div = rootDocument.DocumentNode.SelectNodes("//div[@class='item']");
var firstNames = div.SelectNodes("//span[@class='first-name']//text()");
var emails = div.SelectNodes("//span[@class='email-address']//a//text()");

然而,firstNames和电子邮件似乎检索了页面中的所有节点,而不是div。我只想让子节点属于一个div。这样做的正确方法是什么?

0 个答案:

没有答案