我在这里只收到关于 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网站吗?还是我应该只在页面上使用正则表达式?