Java kodida tasodifiy html sahifasining matnini qanday qilib olishim mumkin?

Men shunday yo'l tutdim:

String url = ("http://www.repubblica.it/economia/finanza/2011/10/27/news/la_fine_dell_incertezza_solleva_le_azioni_bancarie_in_borsa_alle_italiane_mancano_15_miliardi_di_capitale_met_di_unicredit-23967707/");

Document doc = Jsoup.parse(new URL(url), 2000);

Elements body = doc.select("body");

String s=body.text();

System.out.println(s);

Yana bir muammo bor. Men asosiy matnni sarlavhasiz xohlayman. Menga kim yordam berishi mumkin?


Matnni veb-saytlardan olib chiqqan algoritm kerak. Ushbu matnni teglar, sinflar va boshqalardan tozalashini istayman va men ushbu algoritm har qanday veb-sahifaga qo'llanilishini istayman.

For example for this page

Asosiy matnga muhtojman:

MILANO - Sizningcha, fabbisogni di patrimonio delle   maggiori banche europee è arrivato. L'Eba (L'Autorità di controllo   bancaria europea) ga stabilito la necessità, entro giugno 2012, di   Ricapitalizzare men uchun 30,5 million evro uchun 106,5 milliard evro   più muhim. Shirkatning 70 nafar a'zolari, investitsiyalarni jalb qilish, shahar defitsitlari   Patrimoniale è di 160 miliard ...............

For this page

Asosiy matnga muhtojman:

TORINO - Effetto Chrysler haqida sukut Fiat. Il Lingotto arxivi il   17,6 millardlik (8,4 mlrd   stesso trimestre 2010). Buning ustiga, siz o'zingizni qiziqtirgan savollarga javob bera olasiz   ordinaria che passa da 256 a 851 milioni. Teri tarjima qilingan   Detroyt che ................

Rahmat

0
Ikkita narsalar: Birinchidan, agar siz o'zingizning yechimingiz bilan qabul qilsangiz va o'zingizning tanlovingiz qabul qilingan bo'lsa, o'zingiz javob bering, buni amalga oshirish uchun savolingizni ishlatmang. Ikkinchidan, yangi savolingiz bo'lsa, yangi savol bering.
qo'shib qo'ydi muallif Kev, manba
Ushbu uy vazifasi bormi?
qo'shib qo'ydi muallif ewok, manba
Apache http commons ni sinashingiz mumkin
qo'shib qo'ydi muallif nidhin, manba

2 javoblar

Boilerplate kutubxonasini ko'ring.

Boshqa bir variant esa tarkibni mazmunli tarzda indekslovchi Apache Tika ni o'rganishdir.

"Asosiy matn" ni belgilash katta darajada mumkin emasligini unutmang. Agar siz saytni bilsangiz shablonini tushunishga harakat qilasiz va ba'zi taxminlarga ega bo'lasiz. Buni tasodifiy saytlari bo'ylab qilish qiyin, bu erda boilerpipe/tika kabi narsalar paydo bo'ladi.

2
qo'shib qo'ydi

Men faqat Jsoup ni topdim va u siz istagan narsalar uchun juda yaxshi ko'rinadi

Ushbu satrlar bo'ylab biror narsa bu matnni "div_Id" dan chiqarib tashlaydi,

Document doc = Jsoup.connect("http://www.repubblica.it/economia/finanza/2011/10/27/news/la_fine_dell_incertezza_solleva_le_azioni_bancarie_in_borsa_alle_italiane_mancano_15_miliardi_di_capitale_met_di_unicredit-23967707/").get();
String text = doc.body().id("div_Id").text()

Men bu lib bo'yicha mutaxassis emasman, lekin httpCommonsClient dasturini osonlashtiradigan usul

2
qo'shib qo'ydi