scraping scrapear proyectos hacer ejemplos ejemplo descargar con como basico aplicaciones aplicacion java web-scraping web-crawler

scrapear - ¿Cómo diseñar un rastreador web en Java?



scraping basico (5)

Estoy trabajando en un proyecto que necesita diseñar un rastreador web en Java que puede tomar una consulta del usuario sobre un tema de noticias en particular y luego visitar diferentes sitios web de noticias y luego extraer contenido de noticias de esas páginas y almacenarlo en algunos archivos / bases de datos. Necesito esto para hacer un resumen del contenido almacenado en general. Soy nuevo en este campo y espero alguna ayuda de personas que tengan alguna experiencia sobre cómo hacerlo.

Ahora mismo tengo el código para extraer contenido de noticias de una sola página que toma la página manualmente, pero no tengo idea de cómo integrarlo en un rastreador web para extraer contenido de diferentes páginas.

¿Alguien puede dar buenos enlaces a tutoriales o implementaciones en Java que puedo usar o modificar de acuerdo a mis necesidades?


Aquí hay algunas bibliotecas Java de código abierto que la mayoría de la gente recomendaría,

Mi favorito personal sería Java Web Crawler, en términos de velocidad y facilidad de configuración.

Por cierto, si no es algo tan grande, para una tarea, si los sitios web de origen NO cambian con frecuencia, recomendaría implementar un analizador HTML simple.

Espero que ayude


Encontré este artículo realmente útil cuando estaba leyendo sobre Web Crawlers.

Proporciona una guía paso a paso para desarrollar un rastreador de múltiples subprocesos.

En esencia, la siguiente es una vista de alto nivel de lo que debería hacer un rastreador

- Insert first URL in the queue Loop until enough documents are gathered: - Get first URL from the queue and save the document - Extract links from the saved document and insert them in the queue


Un consejo además de las otras respuestas: asegúrese de que su rastreador respeta el robots.txt (es decir, no rastrea los sitios de forma rápida e indiscriminada) o que los sitios que desea visitar bloqueen a su organización.


http://jsoup.org/

Document doc = Jsoup.connect("http://en.wikipedia.org/").get(); Elements newsHeadlines = doc.select("#mp-itn b a");


Te recomiendo que revises mis respuestas aquí: ¿Cómo puedo llevar el rastreo de Google en mi aplicación (web o consola) y diseñar un rastreador web?

La primera respuesta fue proporcionada para una pregunta de C #, pero en realidad es una respuesta independiente del idioma, por lo que también se aplica a Java. Echa un vistazo a los enlaces que he proporcionado en ambas respuestas, hay algunos buenos materiales de lectura. También diría que debes probar uno de los rastreadores de Java ya existentes , en lugar de escribir uno tú mismo (no es un proyecto pequeño).

... un rastreador web en Java que puede realizar una consulta del usuario sobre un tema de noticias en particular y luego visitar diferentes sitios web de noticias y luego extraer contenido de noticias de esas páginas y almacenarlo en algunos archivos / bases de datos.

Ese requisito parece ir más allá del alcance de "simplemente un rastreador" y entrar en el área del aprendizaje automático y el procesamiento del lenguaje natural. Si tiene una lista de sitios web para los que está seguro de que publican noticias, entonces es posible que pueda extraer el contenido de las noticias. Sin embargo, incluso entonces, debe determinar qué parte del sitio web es noticia y qué no (es decir, también puede haber enlaces, anuncios, comentarios, etc.). Entonces, ¿exactamente qué tipo de requisitos enfrentas aquí? ¿Tienes una lista de sitios web de noticias? ¿Tienes una forma confiable de extraer noticias?