java - 为什么我无法获取所有页面
问题描述
在页面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
推荐阅读
- typo3 - 根据 1 级具有不同 2 级的排版菜单
- karate - 如何从不同的场景访问场景的响应?
- jquery - 粘贴在 Mac/Safari 中的 asp.net Web 应用程序的十进制字段中不起作用
- node.js - 无法从 AWS s3 上的浏览器上传文件
- mysql - 返回第一个错误的 MySQL 错误处理
- java - MAVEN 如何加载“相同”的依赖 JAR 文件?
- r - Calculate the percentage of missing values per month in a dataframe
- c# - 使用 C# 关闭浏览器选项卡时如何获取时间?换句话说,是否有任何查询可以获取浏览器上选项卡的开始时间和结束时间?
- windows - 在 Access 中查询以检索讲师的姓名,使得他们所教授的课程的总注册人数少于 5 名学生
- css - 打印预览中页面中间的表格中断