Actualmente estoy usando PHP DOM con CURL y Simple HTML DOM Parser para raspado de HTML. Necesito raspar un gran conjunto de contenidos y necesito almacenarlo. Estoy usando PHP como mi idioma principal y MySQL como base de datos de almacenamiento; sin embargo, estoy interesado en opciones en cualquier idioma y puedo integrarlo en mi flujo de trabajo.
¿Hay algún otro paquete de extracción de HTML que deba investigar? He oído hablar de bibliotecas de raspado web llamadas ' Scrapy ' y ' Beautiful Soup ' que se basan en Python.
Se agradecen mucho las sugerencias.! :)
Para obtener y analizar HTML, utilizo la biblioteca basada en Java, jsoup . Se las arregla asombrosamente bien con el código HTML mal formado y destrozado.
Tiene una variedad de formas de consultar, para responder preguntas como "Dame la tercera tabla en el documento".
De la página web de la biblioteca:
jsoup es una biblioteca de Java para trabajar con HTML del mundo real. Proporciona una API muy conveniente para extraer y manipular datos, utilizando lo mejor de DOM, CSS y métodos similares a jquery.
jsoup
cuál es una biblioteca de Java que (a) obtiene una página web, (b) analiza el HTML de esa página y (c) le permite consultar partes de ese contenido HTML de varias maneras. Lea Wikipedia para conocer el significado de "web scraping" .Si desea realizar web scraping repetida y regularmente, y utiliza Java, consulte la clase incluida ScheduledExecutorService
.
Un ExecutorService que puede programar comandos para que se ejecuten después de un retraso determinado o para que se ejecuten periódicamente.
Esta clase es más nueva y tiene ventajas sobre la Timer
clase citada con más frecuencia. Busque StackOverflow.com para obtener más información y debates.
Para usar un ScheduledExecutorService, defina una clase que implemente la interfaz Runnable . Esa interfaz simplemente significa que su clase incluye un método llamado run
. En ese método, obtiene su página web, la analiza y la maneja/almacena. Ese método es donde podría llamar a una biblioteca como jsoup
. Pasa una instancia de su clase Runnable a ScheduledExecutorService para que se ejecute cada minuto, hora, a la hora que especifique.
Cazador de ciervos
albahaca bourque
Olli