java - 为什么我无法获取所有页面

标签 java web-scraping jsoup

在页面https://www.jogossantacasa.pt/web/Placard/placard ,我正在尝试获取 Futebol->... 的链接。我可以,但这只会在 for 循环上刮掉一页。感谢大家。

public class main {

    static List<String> links=new ArrayList<>();
    static List<String> ligas=new ArrayList<>();
    static String url="https://www.jogossantacasa.pt"; //main link

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Document doc;
        // Here i get the links
        try {
            doc = Jsoup.connect(url+"/web/Placard/placard").get();
            Elements a = doc.getElementsByClass("width9");
            boolean qwerty = true;
            for(Element ele : a) {
                Elements k = ele.select("li");      
                for(Element d : k)
                {   
                    String hj = d.select("a").text();
            
                    if(hj.contains("Ténis")) qwerty = false;
                    if(qwerty) {
                        if(!hj.contains("Futebol")) {
                            links.add(d.select("a").attr("href"));
                            ligas.add(hj);
                        }
                    }
                }
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        // Here I try to scrape each country page and error is only the last page is scraped
        for(int i = 0 ; i < links.size() ; i++) {

            String urlEach=url+links.get(i);
            Document docEach;

            try {
                docEach = Jsoup.connect(urlEach).get();
                System.out.println(docEach.toString());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }       
        }
    }
}

最佳答案

第一页 (/web/Placard/eventos?id=23316) 很大,超过 3MB。 Jsoup 仅下载该文件的前 1MB。为了克服这个限制,设置更高的maxBodySize连接或 0 禁用限制。

docEach = Jsoup.connect(urlEach).maxBodySize(10*1024*1024).get(); // 10MB

关于java - 为什么我无法获取所有页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57183403/

相关文章:

python - 使用 selenium 和 python 在 Chromedriver 中保存扩展设置

python - "Clicking"带有请求的按钮

java - 解析 URL 以获取 hyber 链接并将 hyber 链接存储在单独的变量中

java - 如何创建 XML 解析的泛型?

java - 在weblogic 12.1.1上访问Jenkins时出现500错误 "no app attribute"

java - 批处理 - 判断 java 是否安装

java - 使用java从PC发送字节到USB通信端口

java - Eclipse Web 服务测试客户端和异常 : (401) Unauthorized error

javascript - 在抓取之间暂停 Node 渗透

java - 有没有办法在一个 Jsoup 选择中深入获取多个元素?