
Negocios del Web
Épsilon
Hospedaje
Verificación en dos pasos activada
[2/3] Crear un pequeño BOT [Extraer películas de web]
Hola a todos 🙄. Aprovecho hoy para realizar otro tutorial respecto a la clase simplehtmldom. En este tutorial iré mas al grano ya que en la primera parte he detallado un poco mas.
Este pequeño tutorial es 100% mio y no ningún copypaste. Realizado especialmente para Forobeta.
-> Primera parte: [1/2] Crear un pequeño BOT [Extraer información de webs]
Este tutorial va a ir dedicado a extraer películas desde website. Este tutorial es simple y rápido yo en particular para hacer este tipo de cosas lo realizo con otras clases mas complejas pero para que "todo el mundo" pueda realizarlo he escogida esta clase que es la mas simple.
Requisitos:
De entrada tenemos que tener lo básico en nuestro documento .php. La llamada a la clase simplehtmldom, una variable con la url que vamos a extraer y un cuerpo HTML. En este ejemplo voy a extraer películas de... RePelis | Peliculas Online Gratis Sin Cortes
Primero vamos a revisar el código de fuente para ver donde esta el enlace para acceder a la ficha de la película. Como sabéis el enlace para acceder a la ficha de la película suele ser "padre" de una <img>, lo encontré!.
Una vez localizado donde esta el href toca ir al codigo, como ya vimos en la parte uno realizamos lo siguiente: find("div.peli_img_img a") que significa seleccionamos las <a> que se encuentran dentro del div con class peli_img_img y lo imprimimos con echo $variable->href ya que nos importa lo que se encuentra en el tag href, nos quedaría a si:
Y ya podemos ver en pantalla las fichas de la primera pagina. Para este ejemplo vamos a rescatar las películas de la primera pagina para hacerlo mas simple, para los nuevos.
LISTO, ya tenemos los enlaces de las fichas ahora vamos a acceder a ellos.
Como ya sabemos extraer información vamos a buscar donde se encuentra el titulo de la película:
Listo ya lo he encontrado en este caso tiene mas de una class pero elegimos la que 'creemos' que puede ser para identificar exclusivamente al titulo "intuición". El titulo de la pelicula se encuentra en la class titbkcnt.
Le realizamos un bucle como ya hemos hecho varias veces y imprimimos el resultado.
El código tendría que quedar a si:
Y aquí tenemos el resultado!!!, le he añadido un poco de formato para que se visualice mejor:
Ahora nos falta la sinopsis, imagenes y los links, voy hacer dos seguidas para evitar hacerlos leer mucho 😛. Vamos a buscar en que parte del dom esta la sinopsis.
Como podemos ver la sinopsis esta en una class llamada sinoptxt dentro de un <p> entonces el find seria: find(".sinoptxt p")
Ahora vamos a buscar el link de las imágenes, como extra para nuestro post.
Como podemos ver la <img> esta en una class llamada peli_img_int y nos interesa el atributo src.
Para rescatar su valor se realizaría con: find(".peli_img_int img").
El código nos tendría que quedar a si:
Y aquí tenemos el resultado:
Ahora falta lo interesante, los links directos al vídeo. Vamos a buscarlos!!
Ya lo tenemos encontrado esta vez es un poco mas complicado ya que el atributo obtiene un "-" cosa que eso dificulta imprimir el resultado pero... realizamos otro método para imprimirlo sin problemas.
El código que tenemos y código final es el siguiente:
Lo que hemos realizado a sido un bucle simple para extraer todos los iframes de la class tab_content aunque sea una class generica no todas tienes iframe y si lo tienes son para peliculas, que es lo que nos interesa.
Luego hacemos un if() para extraer solo los links que empiecen por http:// para a si hacer un filtrado algo mas seguro. Luego imprimimos el resultado y...
Como podéis ver ya tenemos todo lo que necesitamos! 🙂
Si te a gustado el tutorial dale a "Me agrada" me ayudara mucho 🙂
Un gran saludo a todos!!
Hola a todos 🙄. Aprovecho hoy para realizar otro tutorial respecto a la clase simplehtmldom. En este tutorial iré mas al grano ya que en la primera parte he detallado un poco mas.
Este pequeño tutorial es 100% mio y no ningún copypaste. Realizado especialmente para Forobeta.
-> Primera parte: [1/2] Crear un pequeño BOT [Extraer información de webs]
Este tutorial va a ir dedicado a extraer películas desde website. Este tutorial es simple y rápido yo en particular para hacer este tipo de cosas lo realizo con otras clases mas complejas pero para que "todo el mundo" pueda realizarlo he escogida esta clase que es la mas simple.
Requisitos:
- Leer la parte 1 de este tutorial.
De entrada tenemos que tener lo básico en nuestro documento .php. La llamada a la clase simplehtmldom, una variable con la url que vamos a extraer y un cuerpo HTML. En este ejemplo voy a extraer películas de... RePelis | Peliculas Online Gratis Sin Cortes

Primero vamos a revisar el código de fuente para ver donde esta el enlace para acceder a la ficha de la película. Como sabéis el enlace para acceder a la ficha de la película suele ser "padre" de una <img>, lo encontré!.

Una vez localizado donde esta el href toca ir al codigo, como ya vimos en la parte uno realizamos lo siguiente: find("div.peli_img_img a") que significa seleccionamos las <a> que se encuentran dentro del div con class peli_img_img y lo imprimimos con echo $variable->href ya que nos importa lo que se encuentra en el tag href, nos quedaría a si:

Y ya podemos ver en pantalla las fichas de la primera pagina. Para este ejemplo vamos a rescatar las películas de la primera pagina para hacerlo mas simple, para los nuevos.

LISTO, ya tenemos los enlaces de las fichas ahora vamos a acceder a ellos.

Como ya sabemos extraer información vamos a buscar donde se encuentra el titulo de la película:

Listo ya lo he encontrado en este caso tiene mas de una class pero elegimos la que 'creemos' que puede ser para identificar exclusivamente al titulo "intuición". El titulo de la pelicula se encuentra en la class titbkcnt.
Le realizamos un bucle como ya hemos hecho varias veces y imprimimos el resultado.
Esta vez utilizamos la función iconv para convertir el cotejamiento y que no hayan problemas de accentos y ñ.
El código tendría que quedar a si:

Y aquí tenemos el resultado!!!, le he añadido un poco de formato para que se visualice mejor:

No se aprecia el scroll pero ya solo he seleccionado unas pocas para que la imagen no sea muy grande..
Ahora nos falta la sinopsis, imagenes y los links, voy hacer dos seguidas para evitar hacerlos leer mucho 😛. Vamos a buscar en que parte del dom esta la sinopsis.

Como podemos ver la sinopsis esta en una class llamada sinoptxt dentro de un <p> entonces el find seria: find(".sinoptxt p")
Ahora vamos a buscar el link de las imágenes, como extra para nuestro post.
Como podemos ver la <img> esta en una class llamada peli_img_int y nos interesa el atributo src.

Para rescatar su valor se realizaría con: find(".peli_img_int img").
El código nos tendría que quedar a si:

Y aquí tenemos el resultado:

Ahora falta lo interesante, los links directos al vídeo. Vamos a buscarlos!!

Ya lo tenemos encontrado esta vez es un poco mas complicado ya que el atributo obtiene un "-" cosa que eso dificulta imprimir el resultado pero... realizamos otro método para imprimirlo sin problemas.
El código que tenemos y código final es el siguiente:

Lo que hemos realizado a sido un bucle simple para extraer todos los iframes de la class tab_content aunque sea una class generica no todas tienes iframe y si lo tienes son para peliculas, que es lo que nos interesa.
Luego hacemos un if() para extraer solo los links que empiecen por http:// para a si hacer un filtrado algo mas seguro. Luego imprimimos el resultado y...

Como podéis ver ya tenemos todo lo que necesitamos! 🙂
Si te a gustado el tutorial dale a "Me agrada" me ayudara mucho 🙂
Un gran saludo a todos!!
Última edición: