2010-01-11 77 views
6

Soy más familiar con el lenguaje de programación java Me gusta extraer los datos de un sitio web y almacenarlos en mi base de datos que se ejecuta en mi máquina. Es posible en java. Si es así, qué API debería usar. Por ejemplo, el número de escuelas enumeradas en un sitio web ¿Cómo puedo extraer esos datos y almacenarlos en mi base de datos utilizando Java?¿Cómo extraer los datos de un sitio web usando Java?

+0

Dupes: http://stackoverflow.com/questions/tagged/screen-scraping+java – Jherico

+0

Millones de engañados! http://stackoverflow.com/questions/26638/what-html-parsing-libraries-do-you-recommend-in-java, http://stackoverflow.com/questions/238036/java-html-parsing, etc. etc., etc. –

Respuesta

7

Lo que te refieres es comúnmente llamado 'screenscraping'. Hay una variedad de formas de hacer esto en Java, sin embargo, prefiero HtmlUnit. Si bien fue diseñado como una forma de probar la funcionalidad web, puede usarla para acceder a una página web remota y analizarla.

Recomendaría usar un buen error manejando el analizador html como Tagsoup para extraer del HTML exactamente lo que estás buscando.

+0

Puedo secundar la recomendación para Tagsoup. Lo uso desde hace un tiempo para extraer datos de 'páginas del mundo real' (es decir, lleno de html no válido) y funciona muy bien – bert

0

Dependiendo de lo que realmente está tratando de hacer, puede usar muchas soluciones diferentes.

Si simplemente quiere obtener el código HTML de una página web, entonces URL.getContent() puede ser su solución. Aquí hay un pequeño tutorial:

http://www.javacoffeebreak.com/books/extracts/javanotesv3/c10/s4.html

EDIT: no entendía que estaba buscando una manera de analizar el código HTML. Algunas herramientas han sido sugeridas arriba. Lo siento por eso.

1

Puede utilizar VietSpider XML desde

http://sourceforge.net/projects/binhgiang/files/

Descargar VietSpider3_16_XML_Windows.zip o VietSpider3_16_XML_Linux.zip

VietSpider Web Data Extractor: el software rastrea los datos de los sitios web ((Data Scraper)), formatea el estándar XML (Text, CDATA) y luego lo almacena en la base de datos relacional. El producto es compatible con varios RDBM como Oracle, MySQL, SQL Server, H2, HSQL, Apache Derby, Postgres ... VietSpider Crawler admite sesión (inicio de sesión, consulta por entrada de formulario), descarga múltiple, manejo de JavaScript, proxy (y multi-proxy por escaneo automático de los proxies del sitio web) ...

Cuestiones relacionadas