0

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

PS:请忽略"字符问题,XPath模式由数据库提供。

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

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

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

某些页面在元标记中提供图像,因此.Attributes["src"]无法正常工作。

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

4

1 回答 1

0

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

Agility.DocumentNode.SelectSingleNode(yourXpath);

只需使用:

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

这是因为 XPath 无法通过 HtmlAgilityPack 类中的 SelectSingleNode() 函数返回属性值。因此,您必须SelectSingleNode(yourXpath).value在分词后使用或使用正则表达式才能获得没有外文本的“src”。

于 2012-06-10T14:14:40.563 回答