JSoup 工作不正常
JSoup is working wrong
我正在尝试解析维基百科页面。我目前同时 运行 100 Thread
s。问题是这样的;当我尝试解析整个页面上下文时,有时上下文已损坏或只是缺少一些段落。我真的不明白这是什么问题。
该项目有 2 个部分。一个是在页面中找到所有 href links
。(工作正常)。另一个是在页面中找到一个简单的文本(无法正常工作)。
Document doc = null;
try {
doc = Jsoup.connect(link).get();
} catch (Exception e) {
e.printStackTrace();
return;
}
Elements divs = doc.select("div#bodyContent");
Elements texts = divs.select("div#mw-content-text");
Elements paragraphs = texts.select("p");
//this part is working correctly(finding all links)
Elements links = paragraphs.select("a");
Elements headerContainer = doc.select("h1#firstHeading");
//this part is not working correctly.(Some parts are corrupted or even in one sentence it gets some words but others might be missing)
StringBuilder bl = new StringBuilder();
for(Element elem : paragraphs){
bl.append(Jsoup.parse(elem.html()).text());
}
String p = bl.toString();
编辑 1:https://tr.wikipedia.org/wiki/%C4%B0spanya 示例 link 就是这个。
本页的上下文是:
而西班牙最大的城市仍然有葡语族r.Tatil 季节开始时,有很多来自德国、波兰和许多南美国家的人来这里工作,尤其是在度假村。许多定居在 Costa Blanca 或 Costa del Sol 等旅游区的德国人和英国人也说英语和法语。年轻的西班牙人更多地学习英语作为外语,而年长的西班牙人更多地讲法语。西班牙宪法第二条规定国家没有宗教信仰。然而,96% 的人口是正式的天主教徒。此外,根据社会调查中心 2002 年进行的一项调查,只有 80% 的受访者表示他们是天主教徒。结果发现,12% 的人不属于任何宗教。还发现 54% 的天主教徒很少或根本不去教堂。 15% 的其他天主教徒表示他们偶尔去教堂,10% 每月几次,19% 每个星期天。另一方面,22%的西班牙人表示他们每个月至少履行一次宗教义务tir.Katolik他们的教会是与教皇达成协议而得到西班牙政府支持的教会。西班牙的天主教会因为靠信徒的捐献而没有存续,所以没有必要进行正式的募捐。圣地亚哥德孔波斯特拉是基督徒最常去的圣地之一,也在西班牙r.N那里有 2.5% 的人口是伊斯兰教,不到 1% 的犹太人r.Madrid BarcelonaOther related topic维基媒体页面:Commons 有与西班牙相关的媒体r.Vikis摘要包含关于西班牙的引述。
可能是因为默认响应大小Jsoup
了。尝试将 maxBodySize
设置为更大的数字。
例如,Connection.Reponse response = Jsoup.connect(url)
.maxBodySize(5000000)
.execute() // in bytes
我正在尝试解析维基百科页面。我目前同时 运行 100 Thread
s。问题是这样的;当我尝试解析整个页面上下文时,有时上下文已损坏或只是缺少一些段落。我真的不明白这是什么问题。
该项目有 2 个部分。一个是在页面中找到所有 href links
。(工作正常)。另一个是在页面中找到一个简单的文本(无法正常工作)。
Document doc = null;
try {
doc = Jsoup.connect(link).get();
} catch (Exception e) {
e.printStackTrace();
return;
}
Elements divs = doc.select("div#bodyContent");
Elements texts = divs.select("div#mw-content-text");
Elements paragraphs = texts.select("p");
//this part is working correctly(finding all links)
Elements links = paragraphs.select("a");
Elements headerContainer = doc.select("h1#firstHeading");
//this part is not working correctly.(Some parts are corrupted or even in one sentence it gets some words but others might be missing)
StringBuilder bl = new StringBuilder();
for(Element elem : paragraphs){
bl.append(Jsoup.parse(elem.html()).text());
}
String p = bl.toString();
编辑 1:https://tr.wikipedia.org/wiki/%C4%B0spanya 示例 link 就是这个。
本页的上下文是:
而西班牙最大的城市仍然有葡语族r.Tatil 季节开始时,有很多来自德国、波兰和许多南美国家的人来这里工作,尤其是在度假村。许多定居在 Costa Blanca 或 Costa del Sol 等旅游区的德国人和英国人也说英语和法语。年轻的西班牙人更多地学习英语作为外语,而年长的西班牙人更多地讲法语。西班牙宪法第二条规定国家没有宗教信仰。然而,96% 的人口是正式的天主教徒。此外,根据社会调查中心 2002 年进行的一项调查,只有 80% 的受访者表示他们是天主教徒。结果发现,12% 的人不属于任何宗教。还发现 54% 的天主教徒很少或根本不去教堂。 15% 的其他天主教徒表示他们偶尔去教堂,10% 每月几次,19% 每个星期天。另一方面,22%的西班牙人表示他们每个月至少履行一次宗教义务tir.Katolik他们的教会是与教皇达成协议而得到西班牙政府支持的教会。西班牙的天主教会因为靠信徒的捐献而没有存续,所以没有必要进行正式的募捐。圣地亚哥德孔波斯特拉是基督徒最常去的圣地之一,也在西班牙r.N那里有 2.5% 的人口是伊斯兰教,不到 1% 的犹太人r.Madrid BarcelonaOther related topic维基媒体页面:Commons 有与西班牙相关的媒体r.Vikis摘要包含关于西班牙的引述。
可能是因为默认响应大小Jsoup
了。尝试将 maxBodySize
设置为更大的数字。
例如,Connection.Reponse response = Jsoup.connect(url)
.maxBodySize(5000000)
.execute() // in bytes