【问题标题】:Parse broken HTML Sites with XPath [duplicate]使用 XPath 解析损坏的 HTML 站点 [重复]
【发布时间】:2013-03-31 12:55:03
【问题描述】:

我在这里只收到关于 python 的问题,我发现的工具主要是针对 python 的,所以新问题: 我需要使用 XPath 从 HTML 站点查询一些内容。

我当前的代码如下所示:

URL url = new URL("http://somesite.com");
connection = (HttpURLConnection) url.openConnection();
connection.connect();

Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder()
                                     .parse(new InputSource(connection.getInputStream()));

XPathFactory xPathfactory = XPathFactory.newInstance();
XPath xpath = xPathfactory.newXPath();
XPathExpression expr = xpath.compile("//span[@class='a-class']");
String price = (String) expr.evaluate(doc, XPathConstants.STRING);

问题是,页面损坏或 XPath 有一些问题要读取:

[致命错误]:4:254:实体名称必须紧跟在实体引用中的“&”之后。
org.xml.sax.SAXParseException;行号:4;列号:254;实体名称必须紧跟在实体引用中的“&”之后。
在 com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:251)
在 com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:300)

有什么工具可以更好地阅读html网站吗?还是我应该只在页面上使用正则表达式?

【问题讨论】:

    标签: java html xml xpath


    【解决方案1】:

    有什么工具可以更好的阅读html网站吗?

    人们高度评价jsoup

    【讨论】:

    • 哇,jsoup 就像一个魅力!
    • @reox:酷!很高兴有帮助。
    猜你喜欢
    • 1970-01-01
    • 2018-05-03
    • 2014-07-06
    • 2013-08-09
    • 2011-01-22
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多