我正在学习使用JSoup,为此我开始使用包含足球比赛的网站。我不擅长HTML,这可能是问题,无论如何,我检查了网站的代码,以了解如何检索我需要的信息。它在初始页面上工作正常,这是我的代码:
import java.net.URL;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JSoup_example {
public static void main(String[] args) {
try {
Document doc = Jsoup.parse(new URL("https://www.bwin.it/sportsbook.aspx"), 1000000);
Elements resultLinks = doc.select("tr.normal");
//System.out.println(doc);
System.out.println(resultLinks.size());
for (Element link : resultLinks) {
System.out.println(link.select("td.label").first().text() + " - " + link.select("td.label").last().text());
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
但是如果我试图刮掉同一网站的另一页,我就会遇到问题,例如:
,在检查代码后,看起来与第一个完全一样。 经过多次尝试,我用我的浏览器(Chrome)检查了centra元素,发现包含我想要的数据的表的属性“baseURI”设置如下:
https://www.bwin.it/betViewIframe.aspx?SportID=4&bv=bb&selectedLeagues=0
如果我将该链接放在我的代码中,它会按预期工作,但我不明白为什么它不适用于上一个链接。所以我的问题是:
我做错了什么?
有没有更好的方法来检索手动执行该表的链接?
感谢您的帮助。