J'essaie d'accéder à une URL, d'obtenir le code HTML et d'utiliser xpaths pour obtenir certaines valeurs. Je reçois très bien le html et Jtidy semble le nettoyer correctement. Cependant, lorsque j'essaie d'obtenir les valeurs souhaitées en utilisant xpaths, je récupère une liste de nœuds vide. Je sais que mon expression xpath est correcte; Je l'ai testé d'autres façons. Quel est le problème avec ce code. Merci pour l'aide.xpaths ne fonctionne pas en java
String url_string = base_url + countries[c];
URL url = new URL(url_string);
Tidy tidy = new Tidy();
tidy.setShowWarnings(false);
tidy.setXHTML(true);
tidy.setMakeClean(true);
Document doc = tidy.parseDOM(url.openStream(), null);
//tidy.pprint(doc, System.out);
String xpath_string = "id('catlisting')//a";
XPath xpath = XPathFactory.newInstance().newXPath();
XPathExpression expr = xpath.compile(xpath_string);
NodeList nodes = (NodeList)expr.evaluate(doc, XPathConstants.NODESET);
System.out.println("size="+nodes.getLength());
for (int r=0; r<nodes.getLength(); r++) {
System.out.println(nodes.item(r).getNodeValue());
}
peut que vous publiez l'url ou est-il privé? – djangofan
http://www.rockclimbing.com/routes/Africa/ –