我这里只收到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; lineNumber:4; columnNumber: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网站?或者我应该在页面上使用正则表达式?