我正在使用HmlAgilityPack和C#开发Web scraper项目。请查看我遇到问题的HTML代码部分。由于<li>
中的所有<ul>
项都具有<div>
的相同类名,因此如何提取完整位置(城镇,城市),即第二个<span>
的值在第二个<li>
项目?
<ul class="Menu">
<li>
<div class="item">
<span class="name">Name:</span>
<span class="value">....</span>
</div>
</li>
<li>
<div class="item">
<span class="name">Location:</span>
<span class="value">
<div class="location">
<a href="....">Town</a>
","
<a href="....">City</a>
</div>
</span>
</div>
</li>
<li>
<div class="item">
<span class="name">Phone:</span>
<span class="value">....</span>
</div>
</li>
</ul>
这是我尝试过的失败原因:
var location = adHtml.DocumentNode.SelectNodes(
@"//ul[@class='Menu']
/div[@class='location']
/a").Select(a => a.InnerText);
将location
写入控制台会给我一个Null Exception。