【问题标题】:C# htmlAgility Webscrape html node inside the first Html nodeC# htmlAgility Webscrape 第一个 Html 节点内的 html 节点
【发布时间】:2016-10-25 02:30:58
【问题描述】:

我正在尝试访问这些节点 在这个网站上。 http://bcres.paragonrels.com/publink/default.aspx?GUID=2033c143-cdf1-46b4-9aac-2e27371de22d&Report=Yes

但是,它们似乎位于初始 Html 文档中的辅助 Html 文档中。 我很困惑如何访问辅助 html 路径,然后解析

这是其中一个节点的示例。

<div style="top:219px;left:555px;width:45px;height:14px;" id="" class="mls29">2</div>

我正在使用 htmlAgility 包,每当我尝试访问 Div 时都会收到 null。 我尝试沿着节点向下工作,但没有成功。

任何帮助或查找必要信息以解决此问题的地方将不胜感激

var webGet = new HtmlWeb();
var document =    webGet.Load("http://bcres.paragonrels.com/publink/default.aspx?GUID=d27a1d95- 623d-4f6a-9e49-e2e46ede136c&Report=Yes");
var divTags = document.DocumentNode.SelectNodes("/html");
var text = document.DocumentNode.InnerText;
MessageBox.Show(text);

【问题讨论】:

    标签: c# html-parsing html-agility-pack


    【解决方案1】:

    如果您访问以下网址,您将能够抓取数据:

    http://bcres.paragonrels.com/publink/Report.aspx?outputtype=HTML&GUID=2033c143-cdf1-46b4-9aac-2e27371de22d&ListingID=262103824:0&Report=Yes&view=29&layout_id=63

    HtmlWeb w = new HtmlWeb();
    var hd = w.Load("http://bcres.paragonrels.com/publink/Report.aspx?outputtype=HTML&GUID=2033c143-cdf1-46b4-9aac-2e27371de22d&ListingID=262103824:0&Report=Yes&view=29&layout_id=63");
    var presentedBy = hd.DocumentNode.CssSelect(".mls23.at-phone-link");
    if (presentedBy != null)
    {
        Console.WriteLine(presentedBy.FirstOrDefault().InnerText);
    }
    

    例如,抓取 Presented By 字段:

    备注:

    1. 我将 ScrapySharp nuget 包与 HtmlAgilityPack 一起使用,因此我可以使用 css 选择器而不是 xpath 表达式进行抓取 - 我发现这样做更容易。

    2. 您正在抓取的网址是您的问题。我正在从页面加载后执行的最后一个 get 请求中抓取,如下面的屏幕截图所示,使用 Firefox 开发人员工具分析站点流量/网络请求/响应:

    我还不能确定到底是谁/什么触发了这个 http 请求(可能是通过 javascript 代码,也可能是通过主文档中请求的框架 html 之一(启用框架的)。

    如果您只有几个这样的网址要抓取,那么即使手动提取正确的网址也是一种选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-02
      • 1970-01-01
      • 2016-12-01
      • 2019-12-03
      • 2021-08-27
      相关资源
      最近更新 更多