目前我需要从网站中提取数据。我尝试使用 HTML Agility Pack,它使用 XPATH 来提取数据。是否有可用的工具可以自动编写 XPATH,以便即使是天真的用户也可以使用配置解析工具而无需编写 XPATH。请为我的场景提供您宝贵的建议。
注意:一些工具可用于编写 XPATH,但它需要格式良好的 XML,但在我的情况下,我将格式错误的 HTML 文档作为输入。
目前我需要从网站中提取数据。我尝试使用 HTML Agility Pack,它使用 XPATH 来提取数据。是否有可用的工具可以自动编写 XPATH,以便即使是天真的用户也可以使用配置解析工具而无需编写 XPATH。请为我的场景提供您宝贵的建议。
注意:一些工具可用于编写 XPATH,但它需要格式良好的 XML,但在我的情况下,我将格式错误的 HTML 文档作为输入。
是的,有这样的工具!
您当然可以使用许多 Web 浏览器中存在的内置方法(如 Mike 所建议的那样)。但是,还有其他插件和实用程序。
我发现 Chrome Extension XPath Helper是最有用的。它具有相同的目的,但它易于使用并创建更健壮的 XPath 表达式(基于 id 等属性),而不仅仅是位置。您还可以在线编辑表达式并实时查看结果。
不知道你在这里到底要做什么,但是当我使用 HtmlAgilityPack 时,我利用 Linq 功能的方式比 XPath 更多。我最喜欢的策略是使用 Descendants 方法,尤其是在添加 Where 子句以缩小搜索范围时。从那里,您可以检查名称、ID,或使用 GetAttributeValue 来检查其他属性(如 href)。我发现 Linq 阅读起来更加清晰,它让我可以非常详细地进行解析,而不会迷失在 XPath 语法中。