Java Jsoup获取错误的结果

Java Jsoup获取错误的结果,java,jsoup,Java,Jsoup,与Jsoup合作。URL在浏览器上运行良好。但它在服务器上获取错误的结果。我还将maxBodySize设置为“0”。但它仍然只得到前几个标签。此外,数据甚至与浏览器的数据不同。你们能帮我一下吗 String queryUrl = "http://www.juso.go.kr/addrlink/addrLinkApi.do?confmKey=U01TX0FVVEgyMDE3MDYyODE0MTYyMzIyMTcw&currentPage=1&countPerPage=20&

与Jsoup合作。URL在浏览器上运行良好。但它在服务器上获取错误的结果。我还将maxBodySize设置为“0”。但它仍然只得到前几个标签。此外,数据甚至与浏览器的数据不同。你们能帮我一下吗

String queryUrl = "http://www.juso.go.kr/addrlink/addrLinkApi.do?confmKey=U01TX0FVVEgyMDE3MDYyODE0MTYyMzIyMTcw&currentPage=1&countPerPage=20&keyword=연남동";

Document document = Jsoup.connect(queryUrl).maxBodySize(0).get();

您是否知道此端点返回分页数据?您的URL要求从第一页输入20个条目。我假设没有指定这些条目的顺序,因此每次调用此端点时可以获得不同的数据-检查是否有URL参数可以确定特定的排序顺序

无论如何,要读取所有2037个条目,您必须按顺序执行。检查以下代码:

final String baseUrl = "http://www.juso.go.kr/addrlink/addrLinkApi.do";
final String key = "U01TX0FVVEgyMDE3MDYyODE0MTYyMzIyMTcw";
final String keyword = "연남동";
final int perPage = 100;
int currentPage = 1;

while (true) {
    System.out.println("Downloading data from page " + currentPage);
    final String url = String.format("%s?confmKey=%s&currentPage=%d&countPerPage=%d&keyword=%s", baseUrl, key, currentPage, perPage, keyword);

    final Document document = Jsoup.connect(url).maxBodySize(0).get();

    final Elements jusos = document.getElementsByTag("juso");
    System.out.println("Found " + jusos.size() + " juso entries");

    if (jusos.size() == 0) {
    break;
    }

    currentPage += 1;
}

在这种情况下,我们要求每页有100个条目(这是该端点支持的最大数量),我们调用它21次,只要调用特定页面返回任何
元素。希望它能帮助你解决问题。

不,它不会。该网站不需要登录或任何身份验证,但只有我已经得到的确认密钥。谢谢您是否尝试清除浏览器中的所有cookie和缓存并重试?尝试使您的浏览器尽可能接近服务器的状态。我认为问题与浏览器无关。它在浏览器上获取正确的数据,其中“”表示20..something并跟随数据标记。但在服务器上,文档获取为0,没有错误,但没有后续数据。我已清理了所有cookie和缓存,但仍然存在相同的问题。