Download the PHP package ivansabik/dom-hunter without Composer
On this page you can find all versions of the php package ivansabik/dom-hunter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ivansabik/dom-hunter
More information about ivansabik/dom-hunter
Files in ivansabik/dom-hunter
Package dom-hunter
Short Description Toolkit that helps in creating custom APIs using cURL HTTP requests and crawling thru the DOM
License MIT
Informations about the package dom-hunter
DOM Hunter
Libreria para explorar una respuesta HTML / Document Object Model (DOM) en busca de objetos. Ayuda a realizar descubrimiento de contenido como para hacer webscraping, construir APIs a partir de aplicaciones web existentes. DOM Hunter permite especificar distintas presas que será cazadas en una URL o código HTML destino. La librería contiene un repositorio de características que típicamente querrían encontrarse en una respuesta HTML para construir APIs (fechas, identificadores, palabras clave, etc). DOM Hunter hace uso de la navegación del DOM y expresiones regulares para cazar las presas. Así funciona:
- El usuario crea una instancia de DOMHunter indicando las opciones adicionales como headers, emular un browser/dispositivo, petición POST/GET, etc.
- Se agregan los elementos a buscar (las presas) a la instancia de DOMHunter.
- Se llama el método
hunt()
. - La librería hace una petición cURL al objetivo (o se puede settear directamente un string con el HTML) y limpia el DOM, después lo distribuye a objetos para que busquen las presas.
- Se obtiene un array con los resultados en los índices especificados.
DOM Hunter no es un web scrapper completo porque no puede simular actividad de un usuario como clicks, timeouts, etc. Se limita a buscar todos los nodos Text de la respuesta y usar expresiones regulares para encontrar los elementos aunque cambie la estructura del DOM.
Esta cambiando constantemente entonces la forma de uso puede variar mucho en el primer release
Presas (objetos que encuentra)
- KeyValue
- IdUnico
- NodoDom
- Tabla
- SelectOptions
- Imagen (falta)
Ejemplo aplicable a Estafeta
Ejemplo Correos de México
Ejemplo Tránsito DF (Infracciones)
Ejemplo AICM
Ejemplo Obligaciones IFAI (Contratos)
Ejemplo ADN Político
Pruebas
Tanto para hacer las peticiones como para parsear los resultados, Dom Hunter basa sus pruebas en las siguientes apps:
- Estafeta
- Correos de México
- Tránsito del DF
- Aeropuerto del DF
- Portal Obligaciones Transparencia del IFAI
- ADN Político
En los archivos doc/output[NOMBRE_SERVICIO].md
están los headers HTTP completos de las peticiones para cuando se tenga que emular otro dispositivo, enviar cookies y otras truculencias headeriles.