Abdullah Tellioglu
Abdullah Tellioglu

Reputation: 1474

JSoup is working wrong

I am trying to parse a wikipedia page. I am currently running 100 Threads at the same time. The problem is this; when I am trying to parse the whole page context, sometimes the context is corrupted or just missing some paragraphs. I really do not understand what the problem is.

The project has 2 parts. One is the finding all href links in the page.(working correctly). The other one is finding a simple text in the page (not working correctly).

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();

Edit 1 : https://tr.wikipedia.org/wiki/%C4%B0spanya Example link is this one.

The context of this page is :
ve en büyük şehirİspanya hâlâ Portekizce konuşan gruplar bulunmaktadır.Tatil sezonu başladığında Almanya'dan, Polonya'dan ve birçok Güney Amerika ülkesinden özellikle tatil yörelerine çalışmaya gelen birçok kişi bulunur. Costa Blanca ya da Costa del Sol gibi bazı turistik bölgelere yerleşmiş olan birçok Alman ve İngiliz de mevcuttur.Yabancı dil olarak İngilizce ve Fransızca konuşulur. Genç İspanyollar yabancı dil olarak daha çok İngilizceyi öğrenirken, yaşı büyük olan İspanyollar daha ziyade Fransızca bilmektedirler.İspanyol anayasası ikinci maddesinde devletin bir dininin olmadığını belirtir. Ancak halkın %96'si resmi olarak Katolik'tir. Bunun yanında 2002 yılında Centro de Investigaciones Sociológicas kurumunun yaptığı bir anket sonucunda ankete katılanların sadece %80'i Katolik olduğunu söylemiştir. %12'lik kesimin ise herhangi bir dine mensup olmadığı ortaya çıkmıştır. Katoliklerin de %54'ünün çok az kiliseye gittiği veya hiç gitmediği bulunmuştur. Diğer katoliklerin de %15'i ara sıra, 10%'u ayda birkaç kez, 19%'u ise her pazar kiliseye gittğini belirtmiştir. Tüm İspanyol halkının %22'si ise en az ayda bir dini görevlerini yerine getirdiğini belirtmiştir.Katolik Kilisesi Papalıkla yapılan bir anlaşmadan dolayı İspanya hükûmeti tarafından desteklenen bir kilisedir. İspanya'da Katolik Kilisesi inananlardan toplanan yardımlar sonucu ayakta kalmadığından, resmi olarak yardım toplamasına da gerek yoktur. Hıristiyanların en çok ziyaret ettiği kutsal yerlerden biri olan Santiago de Compostela da İspanya'da bulunmaktadır.Nüfusun %2.5'ini İslam, %1'den daha az kısmını ise Yahudi dinine mensup kişiler oluşturmaktadır.Madrid BarselonaKonuyla ilgili diğer Wikimedia sayfaları :Commons'ta İspanya ile ilgili çoklu ortam dosyaları bulunmaktadır.Vikisöz'de İspanya ile ilgili alıntılar bulunmaktadır.

Upvotes: 1

Views: 554

Answers (1)

Joel Min
Joel Min

Reputation: 3457

Maybe it is because of the default response size Jsoup has. Try setting your maxBodySize to larger number.

For example, Connection.Reponse response = Jsoup.connect(url) .maxBodySize(5000000) .execute() // in bytes

Upvotes: 1

Related Questions