为Web解析器自动编写XPATH的工具?

时间:2012-05-30 08:02:48

标签: xpath html-parsing html-agility-pack

目前我需要从网站中提取数据。 我尝试使用HTML Agility Pack,它使用XPATH提取数据。 是否有可用的工具可以自动编写XPATH,这样即使是天真的用户也可以使用配置解析工具而无需编写XPATH。 请为我的方案提供宝贵的建议。

注意: 有些工具可用于编写XPATH,但它需要格式良好的XML,但在我的情况下,我输入了格式错误的HTML文档。

3 个答案:

答案 0 :(得分:3)

是的,有such a tool

您当然可以使用许多Web浏览器中提供的内置方法(如Mike所建议的那样)。但是,还有其他插件和实用程序。

我发现Chrome扩展程序XPath Helper最有用。它具有相同的用途,但它易于使用并创建更强大的XPath表达式(基于id等属性)而不仅仅是位置。您还可以内联编辑表达式并实时查看结果。

答案 1 :(得分:2)

不确定你到底要做什么,但是当我使用HtmlAgilityPack时,我比XPath更多地利用Linq功能。我最喜欢的策略是使用Descendants方法,特别是在添加Where子句以缩小搜索范围时。从那里,您可以检查名称,ID,或使用GetAttributeValue检查其他属性(如href)。我发现Linq更清晰易读,它让我对我的解析非常精细,而不会迷失在XPath语法中。

答案 2 :(得分:0)

  1. 在Chrome浏览器中打开网站
  2. 按Ctrl + Shift + I(将打开开发人员工具)
  3. 选择仪器窗口顶部的“元素”
  4. 选择仪器窗口底部的放大镜
  5. 在浏览器中选择所需元素
  6. 右键单击DOM树中的选定行,然后选择“复制XPath”