2013-10-09 4 views
1

J'utilise la bibliothèque JSoup pour extraire des textes dans des pages Web. Voici mon codeComment extraire tout le texte d'une page Web

Document doc; 

try { 
URL url = new URL(text); 


doc = Jsoup.parse(url, 70000); 

Elements paragraphs = doc.select("p"); 
for(Element p : paragraphs) 
{ 

    textField.append(p.text()); 
    textField.append("\n"); 
} 
} 
catch (Exception ex) 
{ 

    ex.printStackTrace(); 

} 

Ici, je ne peux obtenir du texte qu'à partir de balises «p». Mais j'ai besoin de tous les textes de la page. Comment puis-je le faire? Cela pourrait être en bouclant à travers les nœuds, mais j'ai juste commencé à utiliser JSoup et pas très bien avec. S'il vous plaît aider.

+0

avoir modifié ma réponse, laissez-moi savoir si toute confusion. – Jhanvi

Répondre

1

Essayez ceci:

String text = Jsoup.parse(new URL("https://www.google.com"), 10000).text(); 
System.out.println(text); 

Ici, 10000 est en millisecondes et fait référence à délai d'attente.

+0

Bonjour, Merci pour la réponse. Quoi qu'il en soit, il semble que je ne sois pas en train d'extraire du texte de wikipadia et tous les –

+0

@Artificial_Intelligence je l'ai utilisé pour extraire du texte de Wikipedia, mais peut-être que mon exigence est différente. Par exemple http://en.wikipedia.org/wiki/Java_%28programming_language%29, j'ai utilisé cette URL dans le code ci-dessus. – Jhanvi

0

Vous pouvez utiliser Boilerpipe, car vous n'avez pas besoin de l'analyse HTML, mais uniquement de l'extraction de texte. Cela devrait être plus rapide et moins consommateur de CPU.

Exemple:

URL url = new URL("http://www.example.com/some-location/index.html"); 
// NOTE: Use ArticleExtractor unless DefaultExtractor gives better results for you 
String text = ArticleExtractor.INSTANCE.getText(url); 

Extrait de: https://code.google.com/p/boilerpipe/wiki/QuickStart

Questions connexes