【问题标题】:Html Agility Pack problem retrieving data检索数据的 Html Agility Pack 问题
【发布时间】:2011-04-05 03:26:24
【问题描述】:

我正在尝试从网页http://www.bbb.org/kitchener/accredited-business-directory?letter=a解析数据

我想获取所有类别,例如

会计师 - 注册公众 (2)

会计服务 (1) 等等,但问题是当我转到节点时,标签 a 为空,我不知道为什么,但 HTMLagility 包没有得到这些标签。签入手表它说 div 只包含最评论的断线标签,而不是我们在页面源中看到的标签

doc.DocumentNode.SelectNodes("//tr/td/table/tr/td/div/div")[0].OuterHtml    "<div style=\"font-size: 12px;line-height: 16px;\"><!--<br />-->\r\n<!--<br />-->\r\n</div>"    

这里是那个 div 的开始 请注意,我只包含了 HTML 中的 2 个标签

<div style="float: left; width: 305px;"> 
  <h5 style="margin: 0px; margin-bottom: 5px; border-bottom: 1px solid #cccccc; padding-bottom: 5px; font-size: 12px;">Categories Starting with letter 'a'</h5> 
   <div style="font-size: 12px;line-height: 16px;">
     <!--<br />-->
     <!--<br />-->       
     <a class="listingName" href="/kitchener/accredited-business-directory/accountants">Accountants (11)</a><br />   
     <a class="listingName" href="/kitchener/accredited-business-directory/accountants-certified-public">Accountants - Certified Public (2)</a><br /> 
   </div> 
</div>

如何获取数据

即使放置也不会显示链接

foreach (var test in doc.DocumentNode.SelectNodes("//a[@href]")) 
{ MessageBox.Show(test.InnerText+"\n"+test.InnerHtml); }

【问题讨论】:

    标签: c# html-agility-pack


    【解决方案1】:

    使用以下示例对我来说效果很好:

    HtmlWeb web = new HtmlWeb();
    HtmlAgilityPack.HtmlDocument doc = web.Load("http://www.bbb.org/kitchener/accredited-business-directory?letter=a");
    
    foreach (var link in doc.DocumentNode.SelectNodes("//a[@href]"))
    {
        Console.WriteLine(link.InnerText);
    }
    

    输出(缩短):

    BBB
    Home
    Accredited Business Directory
    Accountants (11)
    Accountants - Certified Public (2)
    Accounting Services (1)
    Advertising - Direct Mail (3)
    Advertising Agencies & Counselors (3)
    Advertising Specialties (3)
    ...
    

    【讨论】:

      猜你喜欢
      • 2013-02-13
      • 1970-01-01
      • 1970-01-01
      • 2011-06-12
      • 2011-08-24
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      • 2011-09-05
      相关资源
      最近更新 更多