¿cómo puedo analizar solo el texto de una página web usando jsoup usando java?Cómo analizar solo texto de HTML
Respuesta
del libro de cocina jsoup: http://jsoup.org/cookbook/extracting-data/attributes-text-html
String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>";
Document doc = Jsoup.parse(html);
String text = doc.body().text(); // "An example link"
Bueno, aquí es un método rápido Tiré juntos una vez. Utiliza expresiones regulares para realizar el trabajo. La mayoría de las personas estarán de acuerdo en que esta no es una buena manera de hacerlo. ASÍ, use bajo su propio riesgo.
public static String getPlainText(String html) {
String htmlBody = html.replaceAll("<hr>", ""); // one off for horizontal rule lines
String plainTextBody = htmlBody.replaceAll("<[^<>]+>([^<>]*)<[^<>]+>", "$1");
plainTextBody = plainTextBody.replaceAll("<br ?/>", "");
return decodeHtml(plainTextBody);
}
Esto se utilizó originalmente en mi envoltorio de API para la API Stack Overflow. Por lo tanto, solo se probó en un pequeño subconjunto de etiquetas html.
Hmmm ... ¿por qué no usa simple regexp: 'replaceAll (" <[^>] +> "," ")'? – Crozin
@Crozin, bueno, me estaba enseñando a mí mismo cómo usar las referencias anteriores, supongo. Parece que el tuyo probablemente también funcione. – jjnguy
esto duele! -> http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – sleeplessnerd
Utilización de las clases que forman parte del JDK:
import java.io.*;
import java.net.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
class GetHTMLText
{
public static void main(String[] args)
throws Exception
{
EditorKit kit = new HTMLEditorKit();
Document doc = kit.createDefaultDocument();
// The Document class does not yet handle charset's properly.
doc.putProperty("IgnoreCharsetDirective", Boolean.TRUE);
// Create a reader on the HTML content.
Reader rd = getReader(args[0]);
// Parse the HTML.
kit.read(rd, doc, 0);
// The HTML text is now stored in the document
System.out.println(doc.getText(0, doc.getLength()));
}
// Returns a reader on the HTML data. If 'uri' begins
// with "http:", it's treated as a URL; otherwise,
// it's assumed to be a local filename.
static Reader getReader(String uri)
throws IOException
{
// Retrieve from Internet.
if (uri.startsWith("http:"))
{
URLConnection conn = new URL(uri).openConnection();
return new InputStreamReader(conn.getInputStream());
}
// Retrieve from file.
else
{
return new FileReader(uri);
}
}
}
- 1. PHP analizar HTML
- 2. Cómo analizar documentos de texto con ruby?
- 3. innerHTML sin el html, solo texto
- 4. Ocultar solo texto en el párrafo html
- 5. Cómo analizar HTML desde JavaScript en Firefox?
- 6. ¿Cómo puedo extraer solo el texto del html
- 7. Cómo analizar HTML mal formado en python
- 8. Cómo analizar HTML no válido con Perl?
- 9. cómo analizar CustomWritable de texto en Hadoop
- 10. Cómo analizar atributos xml con jQuery solo?
- 11. analizar cadena html con jquery
- 12. cómo convertir texto HTML a texto sin formato?
- 13. Cómo insertar HTML como texto
- 14. ¿Cómo puedo analizar el texto marcado para su posterior procesamiento?
- 15. Analizar texto (lematización, distancia de edición)
- 16. forma PHP de analizar cadena HTML
- 17. cómo analizar la página devuelta html con jQuery.get()
- 18. Cómo analizar html que incluye el código de JavaScript
- 19. Agregue elementos al DOM dado HTML de texto sin formato usando solo JavaScript puro (no jQuery)
- 20. ¿Cómo crear un favicon de solo texto?
- 21. Cómo analizar eficazmente archivos de texto grandes en Ruby
- 22. Cómo analizar un archivo de texto con C#
- 23. Cómo analizar/recortar direcciones de correo electrónico del texto
- 24. ¿Cómo crear un texto de solo lectura usando html helper en asp.net mvc?
- 25. Necesito analizar datos xml no formados (HTML)
- 26. Cómo analizar HTML malformado en python, usando librerías estándar
- 27. Cómo analizar HTML para modificar todas las palabras
- 28. ¿Cómo puedo analizar una cadena HTML en Java?
- 29. ¿Cómo usar expresiones regulares para analizar HTML en Java?
- 30. Cómo analizar y modificar un archivo HTML en Java
cómo excluir elementos invisibles? (por ejemplo, pantalla: ninguna) – Ehsan