Java JSoup未完全呈现长页面
有一个问题是,我试图从使用JSoup库中获取信息。问题是响应中只包含页面的一部分 这是我的密码:Java JSoup未完全呈现长页面,java,android,jsoup,Java,Android,Jsoup,有一个问题是,我试图从使用JSoup库中获取信息。问题是响应中只包含页面的一部分 这是我的密码: Connection.Response loginForm=Jsoup.connect( 字符串格式(“https://student.utm.utoronto.ca/timetable/timetable?yos=%s&session=20199“,i)) .userAgent(“Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KH
Connection.Response loginForm=Jsoup.connect(
字符串格式(“https://student.utm.utoronto.ca/timetable/timetable?yos=%s&session=20199“,i))
.userAgent(“Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/79.0.3945.88 Safari/537.36”)
.method(Connection.method.GET)
.超时(600000)
.header(“接受编码”、“gzip、deflate、br”)
.header(“接受”,“文本/html,应用程序/xhtml+xml,应用程序/xml;q=0.9,图像/webp,图像/apng,*/*;q=0.8,应用程序/签名交换;v=b3;q=0.9”)
.header(“接受语言”,“en-US,en;q=0.9,fr;q=0.8”)
.header(“缓存控制”,“最大年龄=0”)
.header(“连接”、“保持活动”)
.header(“Host”、“student.utm.utoronto.ca”)
.header(“秒提取模式”、“导航”)
.execute();
我尝试从浏览器中的请求标头复制尽可能多的标头
我怀疑javascript是在最初加载页面后运行的,这就是为什么我没有在响应中获得完整页面的原因
这是带有tr
标记的最后一个元素:
<tr id="tr_MAT102H5FTUT0125" class=" TUT W1 meeting_section OL0 todAft">
<td> </td>
<td> <label for="MAT102H5FTUT0125">TUT0125</label> </td>
<td class="instrTD"> </td>
<td class="hideEnrolTD"> 29 </td>
<td class="hideEnrolTD"> 35 </td>
<td class="hideEnrolTD"> 0 </td>
<td class="enrolTD"> 29/35, wait:0 </td>
<td> <abbr title="Wednesday">WE</abbr><br> </td>
<td class="start_time"> 13:00<br> </td>
<td> 14:00<br> </td>
<td> MN 2100<br> </td>
<td class="noteTD"> </td>
<td class="text-right">
<!-- <input type='checkbox' name='courses' id='$checkbox_id' value='MAT102H5F-TUT0125-313:0014:00' aria-label='MAT102H5F TUT0125' /> --> <button name="courses" id="MAT102H5FTUT0125" value="MAT102H5F-TUT0125-313:0014:00" onclick="addCourse($(this))" aria-label="MAT102H5F TUT0125" class="addButton btn btn-sm btn-primary"><span class="glyphicon glyphicon-plus"></span><span class="button-text"> Add to Plan</span></button> </td>
</tr>
<tr id="tr_MAT102H5FTUT0126" class=" TUT W1 meeting_section OL0 todAft">
<td> </td>
<td> <label for="MAT102H5FTUT0126">TUT0126</label> </td> <
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>
图0125
29
35
0
29/35,等等:0
我们
13:00
14:00
MN 2100
添加到计划中
图0126
我希望最后一个tr
标记表示页面中加载的最后一个表,即课程WGS102H5S
,而不是MAT102H5F
不确定这是否是有用的信息,但我目前正在android studio中编程
在JSoup中有任何修复程序吗?如果没有,我是否应该使用更好的库?更改.execute()
到.maxBodySize(0).execute().bufferUp()代码>