Hoe kan ik in Java-code tekst van een willekeurige HTML-pagina extraheren?

Ik loste deze manier op:

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

Ik heb nog steeds een ander probleem. Ik wil alleen de hoofdtekst zonder een titel. Wie kan me helpen?


Ik heb een algoritme nodig dat de tekst van websites haalt. Ik wil dat deze tekst schoon is van de tags, klassen, etc. en ik wil dat dit algoritme op elke webpagina kan worden toegepast.

For example for this page

Ik heb de hoofdtekst nodig:

MILANO - Il tanto atteso responso sui fabbisogni di patrimonio delle   maggiori banche europee è arrivato. L'Eba (l'Autorità di controllo   bancaria europea) ha stabilito la necessità, entro giugno 2012, di   ricapitalizzare per ben 106,5 miliardi di euro per i 30 gruppi europei   più importanti. Sui 70 gruppi considerati, invece, il deficit   patrimoniale è di 160 miliard ...............

For this page

Ik heb de hoofdtekst nodig:

TORINO - Effetto Chrysler sui conti Fiat. Il Lingotto archivia il   terzo trimestre con utili in crescita a 17,6 miliardi (8,4 nello   stesso trimestre 2010). Più che triplicato l'utile della gestione   ordinaria che passa da 256 a 851 milioni. Due terzi arrivano da   Detroit che ................

Bedankt

0
Twee dingen: ten eerste, gebruik een zelf-antwoord als u tot een eigen oplossing bent gekomen en markeer als geaccepteerd, gebruik uw vraag niet om dit te doen. Ten tweede, stel een nieuwe vraag als je een nieuwe vraag hebt.
toegevoegd de auteur Kev, de bron
Is dit huiswerk?
toegevoegd de auteur ewok, de bron
je kunt apache http commons proberen
toegevoegd de auteur nidhin, de bron

2 antwoord

Probeer de bibliotheek boilerplate .

Een andere optie zou zijn om Apache Tika te verkennen, die de inhoud op een zinvolle manier zal indexeren.

Merk op dat het definiëren van "hoofdtekst" grotendeels onmogelijk is. Als u de site kent, kunt u proberen hun sjabloon te begrijpen en enkele aannames te doen. Het is moeilijk om dit op willekeurige sites te doen, en dat is waar iets als boilerpipe/tika in het spel komt.

2
toegevoegd

Ik heb zojuist Jsoup ontdekt en het ziet er perfect uit voor wat je wilt

Het lijkt erop dat iets in deze zin die tekst uit "div_Id" haalt

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

Ik ben niet de expert op dit gebied, maar het is veel gemakkelijker dan httpCommonsClient

2
toegevoegd