【问题标题】:Can't get the target table by XPath through HTMLAgility Pack in C#无法通过 C# 中的 HTMLAgility Pack 通过 XPath 获取目标表
【发布时间】:2016-04-27 04:02:33
【问题描述】:

我想从网站“WindGuru”获取数据。

在我通过chrome's 内置功能复制目标表的XPath 之后。

它一次又一次地抛出NullReferenceException...

请告诉我如何解决这个问题。

谢谢大家。 :)

这是我的代码片段...

WebClient client = new WebClient();
MemoryStream ms = new MemoryStream(client.DownloadData("http://www.windguru.cz/int/index.php?sc=572782"));


HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(ms, Encoding.ASCII);


HtmlAgilityPack.HtmlDocument docWindContext = new HtmlAgilityPack.HtmlDocument();
docWindContext.LoadHtml(doc.DocumentNode.SelectSingleNode(@"//*[@id='div_wgfcst1']/table").InnerHtml);

【问题讨论】:

  • 保存你的HtmlDocument,看看你实际得到了什么:doc.Save("Result.html");

标签: c# xpath html-agility-pack


【解决方案1】:

您的 id 后面没有表格。 我猜你正在尝试找到包含所有数据的 json 部分?

试试这个:

docWindContext.LoadHtml(doc.DocumentNode.SelectSingleNode(@"//*[@id='div_wgfcst1']/script").InnerHtml);

(将表格更改为脚本) 然后你会得到我猜你想要的所有 js 代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    相关资源
    最近更新 更多