Web scrapping php

Web scrapping php

En otra entrada ya he expliqué como hacer web scrapping con python, pero cuando tienes servidores que funcionan con php es bastante útil dominar el web scrapping técnica con php.

Hay varias maneras de hacer web scrapping con php, desde usar la función "file_get_contents" hasta la librería curl y ayudarnos del archiconocido regex, pero para curarnos en salud tenemos una serie de librerías que nos harán la vida más fácil:

Para este ejemplo utilizaremos Simple HTML DOM para obtener la temperatura de la ciudad de Barcelona, en el caso de esta web se puede obtener por una api que facilitan pero nosotros para el ejemplo lo haremos con este método.

<?php

/* Incluimos la librería */
include('simple_html_dom.php');

/* Obtenemos le código html que nos interesa */
$html = file_get_html('https://freemeteo.es/eltiempo/barcelona/tiempo-actual/ubicacion/?gid=3128760&station=2867&language=spanish&country=spain');

/* Buscamos los tags donde se encuentran los datos que queremos */
/* Podemos hacerlo de esta manera */
$temperatura = $html->find('div.temp');
/* O de esta otra */
$temperatura = $html->find('div[class=temp]');

$viento = $html->find('span.white');
$viento = $viento[0]->find('b');

/* E imprimimos nuestros datos, en este caso como el script lo estoy ejecutando desde mi consola linux, utilizo PHP_EOL para los saltos de página, pero vosotros podéis hacerlo de cualquier otra manera */
echo 'El tiempo en Vilanova i la geltrú' . PHP_EOL;
echo 'Temperatura: ' . $temperatura[0]->plaintext . PHP_EOL;
echo 'Viento: ' . $viento[0]->plaintext . 'km/h' . PHP_EOL;

Pin It on Pinterest