2016-04-30 17 views
0

Ich habe JSoup in der Vergangenheit verwendet und XPaths in Selektoren konvertieren können, aber ich kann das Ergebnis für diese eine Tabelle auf einer Site, die geändert wurde, nicht abrufen.JSoup-Selektor gibt kein Ergebnis zurück

Ich versuche, die Tabelle Tabelle von this Georgia soccer site abrufen.

Von Chrome, bekomme ich den Selektor für den tbody der Tabelle als #tabs-1 > div > table:nth-child(12) > tbody > tr > td > table:nth-child(1) > tbody > tr:nth-child(1) > td > table > tbody.

Firefox gibt einen ähnlichen Selektor für die Tabelle .placeholder > table:nth-child(12) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > table:nth-child(1)

Weder Werke. Auch bei der Try JSoup link

Die erste nth-Kind-Tabelle selbst #tabs-1 > div > table:nth-child(12) gibt null zurück.

Eine Idee, was ist das Besondere an dieser Seite?

habe ich den User-Agent-String Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36

+0

Es scheint zu versuchen, jsoup analysiert den HTML-Code anders als ein Browser würde. Basierend auf dem DOM, das in beiden Browsern zu sehen ist, gibt es ganz klar eine '# tabs-1> div> Tabelle: nth-child (12)'. Die Seite ist voller Fehler, daher würde ich nicht überrascht sein. – BoltClock

+0

Ich habe ein Problem (https://github.com/jhy/jsoup/issues/705) an Jsoup Team auf Github gemeldet. – Stephan

Antwort

0

Ich glaube, Sie einen Fehler in Jsoup gefunden haben. Allerdings ist hier eine Abhilfe für das Extrahieren der Tabelle:

table#Table6 + table > tbody:has(tr.theadb) 

DEMO

0

Ich denke, die Informationen, die Sie brauchen in den tr-Tags mit dem Klassennamen tbody0 & tbody1 ist. Sie können das ausprobieren.

public static void main (String []args) throws IOException { 
Document doc = Jsoup.connect("http://gs-fall15athenaandclassic.sportsaffinity.com/tour/public/info/schedule_results2.asp?sessionguid=&flightguid=CB37D3C7-5EF7-4CCE-8918-3AC3083495A3&tournamentguid=173EB212-BADB-425F-BE03-D05CA448AD8D").get(); 
Elements ele = doc.select("tr.tbody0,tr.tbody1"); 

for(Element e : ele){ 
    System.out.println(e.text()+",");   
} 
} 
Verwandte Themen