使用XPath到HtmlAgilityPack选择“src”值

时间:2012-05-15 13:14:13

标签: c# xpath html-agility-pack

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

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

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

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

<img id="product_photo" src="*/images/thumb/4400/10280/st.jpg*">

有些网页会在元标记中提供图片,因此.Attributes["src"]无效。

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

1 个答案:

答案 0 :(得分:0)

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

Agility.DocumentNode.SelectSingleNode(yourXpath);

使用

完成
string s=Agility.DocumentNode.SelectSingleNode(yourXpath).value;

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