Recientemente he estado desarrollando raspadores web en python con BeautifulSoup. Ahora quiero saber qué bibliotecas son las más preferidas en Java. He hecho una búsqueda, sobre todo veo JTidy y JSoup. ¿Cuál es la diferencia entre ellos?JTidy o Jsoup para Java
5
A
Respuesta
11
JTidy
se utiliza más comúnmente para ordenado el HTML, es decir, a fix formato incorrecto o defectuoso HTML, tales como etiquetas sin cerrar, por ejemplo, desde <div><span>text</div>
a <div><span>text</span></div
.
JSoup
, por otro lado, proporciona un API en toda regla a analizar HTML y a extracto partes de ella. Le permite usar jQuery como selectors para encontrar elementos, o DOM
methods, equivalentes a los que usa con JavaScript, como getElementById
. Yo diría que JSoup es de hecho el equivalente de BeautifulSoup de Java.
Por ejemplo, para extraer el primer párrafo de un artículo de Wikipedia con JSoup, podría utilizar el siguiente:
String url = "http://en.wikipedia.org/wiki/Potato";
Document doc = Jsoup.connect(url).get();
Elements paragraphs = doc.select(".mw-content-ltr p");
String firstParagraph = paragraphs.first().text();
O para extraer el título de esta propia pregunta:
Document doc = Jsoup.connect("http://stackoverflow.com/questions/12439078/jtidy-or-jsoup-for-java").get();
String question = doc.select("#question-header a").text(); // JTidy or Jsoup for Java
Una buena API, ¿eh? :-)
Cuestiones relacionadas
- 1. Documentación jTidy y TagSoup
- 2. Uso adecuado de JTidy para purificar HTML
- 3. Jsoup Cookies para HTTPS raspado
- 4. Jsoup Java HTML parser: ejecución de eventos de JavaScript
- 5. Jsoup como analizador para C++/C?
- 6. jsoup demasiado estrictos para el editor WYSIWYG
- 7. ¿Hay un analizador de HTML parecido a jsoup para PHP?
- 8. Ejemplo de Android JSoup
- 9. ¿Admite jsoup xpath?
- 10. UserAgent en JSOUP?
- 11. JSoup: solicitando la respuesta JSON
- 12. Seleccionar por "nombre" en JSoup
- 13. JSoup UserAgent, cómo configurarlo ¿verdad?
- 14. Jsoup - la extracción de texto
- 15. elemento por clase en JSoup
- 16. Jsoup buscando una página parcial
- 17. ¿Cómo publicar archivos usando JSoup?
- 18. Reemplazar etiquetas HTML usando jsoup
- 19. ¿Hay algo más rápido que Jsoup para raspar HTML?
- 20. Java o Python para matemática?
- 21. cómo utilizar jsoup para poner en orden el html
- 22. Obtener compensaciones de caracteres para elementos en jsoup
- 23. Uso de JSoup para extraer contenido de la tabla HTML
- 24. ¿Puede Jsoup simular presionar un botón?
- 25. Analizando una enorme secuencia HTML con Jsoup
- 26. Manejo de errores de conexión y JSoup
- 27. (cómo) puedo descargar una imagen usando JSoup?
- 28. ¿Cómo obtengo este texto usando Jsoup?
- 29. jsoup segundo elemento en lugar del primero()
- 30. Conexión Jsoup con autenticación de acceso básico
Relacionados: http://stackoverflow.com/questions/5183748/tagsoup-vs-jsoup-vs-html-parser-vs-hotsax-vs – Vadzim