【发布时间】:2020-01-31 16:03:52
【问题描述】:
我正在尝试解析this page。 要选择我需要的节点,我使用 XPath,我的 XPath 在我的浏览器中运行良好,但是在我的项目中使用它时,它返回一个空异常。 标题的 XPath 工作正常,但描述的 XPath 不行。
HtmlWeb web = new HtmlWeb();
HtmlDocument document = web.Load("http://nl.aliexpress.com/item/4000646776468.html?spm=a2g0o.productlist.0.0.531f7aa3iGAnCb&algo_pvid=0b20aa21-fd7f-4826-81a5-c9aac5254da8&algo_expid=0b20aa21-fd7f-4826-81a5-c9aac5254da8-0&btsid=8849a0ec-e95d-447f-a6f9-34dcd58f1381&ws_ab_test=searchweb0_0,searchweb201602_4,searchweb201603_53");
ProductModel product = new ProductModel {
Title = document.DocumentNode.SelectSingleNode("//head/title").InnerText,
Description = document.DocumentNode.SelectSingleNode("/html/body/div[5]/div/div[3]/div[2]/div[2]/div[1]/div/div[2]/div[1]/div/div/div/div[1]/p[2]").InnerText};
return View(product);
【问题讨论】:
-
这可能是由于脚本在浏览器中动态创建该节点,而不是在您的项目中。
-
描述应该是什么?从那个网址
-
@Jawad 描述应该选择第一个描述框。第一行文字是“Ontworpen door Apple”(那是荷兰语)
-
是的,你不能这样做。您正在解析的 Html 是基本 html,没有浏览器呈现的数据。见我的response to another pos 与此类似。
-
@Jawad 你是否推荐一个替代 hap 来运行所有 javascript 渲染?
标签: c# asp.net xpath html-agility-pack