使用XPath到HtmlAgilityPack选择“src”值

c# html-agility-pack xpath

我正处于爬行引擎的开发过程中。我的程序使用HtmlAgilityPack通过Xpath抓取网站。我需要直接获取一些图像src标签。您可以在下面看到我的简单代码无法正常工作,感谢您的建议!

PS:请忽略“char问题,XPath模式由数据库提供。

Agility.DocumentNode.SelectSingleNode("//img[@id="product_photo"]/@src");

这是我需要抓取的行( *...*部分显示要提取的块)

Agility.DocumentNode.SelectSingleNode("//img[@id="product_photo"]/@src");

有些页面在元标记中提供图像,因此.Attributes["src"]不起作用。

更新:您可以在此处查看我的查询和结果询问

热门答案

使用时,您无法获得“src”或任何其他属性的值:

Agility.DocumentNode.SelectSingleNode(yourXpath);

只需使用:

Agility.DocumentNode.SelectSingleNode(yourXpath);

这是因为XPath不能通过HtmlAgilityPack类中的SelectSingleNode()函数返回属性的值。所以你必须使用SelectSingleNode(yourXpath).value或在pharsing之后使用Regex来获得没有outerText的“src”。




许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因