jsoup没有获得完整的数据

时间:2015-04-15 17:23:21

标签: java jsoup

我有一个学校的项目来解析网络代码并像数据库一样使用它。当我尝试关闭(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

在她之上显示所有联赛。

为什么我没有获得完整数据?谢谢你的时间!

1 个答案:

答案 0 :(得分:7)

Jsoup的默认身体响应限制为1MB。您可以使用maxBodySize(int)

将其更改为您需要的任何内容
  

设置从(未压缩)连接读取的最大字节数   在连接关闭之前,正文和输入被截断。   默认最大值为1MB。最大值为零被视为一个   无限量(仅限于你的耐心和记忆   可在您的机器上使用。)

E.g:

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

您可能希望查看Connection中的其他选项,了解如何设置请求超时,用户代理等。