我试图用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。这样做的正确方法是什么?