使用HtmlAgilityPack

时间:2017-07-28 10:53:10

标签: c# html xpath web-scraping html-agility-pack

我正在使用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。

0 个答案:

没有答案