【发布时间】:2016-03-03 08:46:16
【问题描述】:
我正在为我的学校创建一个应用程序,以便更轻松地查看您的课程。我正在使用他们的网站,但他们显然没有简单的 API。所以我需要喜欢阅读该网站并将所有内容都整理出来。 (表层深处的单个标签)。
所以这就是我目前正在使用的:
doc.body().getElementsByTag("div").get(0).getElementsByTag("table").get(1).getElementsByTag("tbody").get(0).getElementsByTag("tr").get(1).getElementsByTag("td").get(0).getElementsByTag("table").get(0).getElementsByTag("tbody").get(0).getElementsByTag("tr").get(0).getElementsByTag("td").get(0).getElementsByTag("a").get(0).html()
doc = Jsoup 解析文档。
对于这段代码,它工作得很好,但是当我尝试这个时:
doc.body().getElementsByTag("div").get(0).getElementsByTag("table").get(1).getElementsByTag("tbody").get(0).getElementsByTag("tr").get(2).getElementsByTag("td").get(0).getElementsByTag("table").get(0).getElementsByTag("tbody").get(0).getElementsByTag("tr").get(0).getElementsByTag("td").get(0).getElementsByTag("a").get(0).html()
它返回一个错误。
03-02 11:30:14.239 15253-15280/? D/JM﹕ Stack [1]: java.util.ArrayList.get(ArrayList.java:308)
03-02 11:30:14.239 15253-15280/? D/JM﹕ Stack [2]: com.jmtech.jordi.mwc.BackgroundWorker.update_r_n(BackgroundWorker.java:374)
03-02 11:30:14.239 15253-15280/? D/JM﹕ Stack [3]: com.jmtech.jordi.mwc.BackgroundWorker.access$500(BackgroundWorker.java:54)
03-02 11:30:14.239 15253-15280/? D/JM﹕ Stack [4]: com.jmtech.jordi.mwc.BackgroundWorker$UpdateRaster_Raster_Notify.run(BackgroundWorker.java:355)
03-02 11:30:14.239 15253-15280/? D/JM﹕ Stack [5]: java.util.Timer$TimerImpl.run(Timer.java:284)
03-02 11:30:14.239 15253-15280/? D/JM﹕ java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
这是学校网站:http://maaswaal.roosternet.nl/?les=3H1
我无法复制和粘贴 HTML,因为 Stackoverflow 的问题 div 会将代码传输到网站,抱歉。
感谢您抽出宝贵时间回复
【问题讨论】: