java jsoup未获得完整数据

rjee0c15  于 2023-01-24  发布在  Java
关注(0)|答案(1)|浏览(209)

我在学校有一个项目是解析Web代码并将其作为数据库使用。当我尝试从(https://www.marathonbet.com/en/betting/Football/)下载数据时,我没有得到所有的数据。
下面是我的代码:

Document doc = Jsoup.connect("https://www.marathonbet.com/en/betting/Football/").get();
Elements newsHeadlines = doc.select("div#container_EVENTS");

for (Element e: newsHeadlines.select("[id^=container_]")) {
    System.out.println(e.select("[class^=block-events-head]").first().text());
    System.out.println(e.select("[class^=foot-market]").select("[class^=event]").text());
}

对于您获得的结果(这是最后显示的联赛):

Football. Friendlies. Internationals All bets Main bets
1. USA 2. Mexico 16 Apr 01:30 +124 7/5 23/10 111/50 +124

在她的上面是所有的联赛。
为什么我不能得到完整的数据?谢谢你的时间!

fjaof16o

fjaof16o1#

Jsoup有一个默认的主体响应限制2MB,你可以用maxBodySize(int)将其更改为任何你需要的大小
设置在关闭连接和截断输入之前从(未压缩的)连接读取到主体中的最大字节数。默认最大值为2MB。最大大小为零将被视为无限大(仅受您的耐心和计算机上可用内存的限制)。
例如:

Document doc = Jsoup.get(url).userAgent(ua).maxBodySize(0).get();

您可能想看看Connection中的其他选项,关于如何设置请求超时、用户代理等。

相关问题