我正处于爬行引擎的开发过程中。我的程序使用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"]
无效。
更新:您可以在此处查看我的查询和结果
答案 0 :(得分:0)
使用时无法获得“src”或任何其他属性的值:
Agility.DocumentNode.SelectSingleNode(yourXpath);
使用
完成string s=Agility.DocumentNode.SelectSingleNode(yourXpath).value;
这是因为XPath不能通过HtmlAgilityPack类中的SelectSingleNode()函数返回属性的值。所以你必须使用SelectSingleNode(yourXpath).value
或在pharsing之后使用Regex来获得没有outerText的“src”。