<?php
function extraeRegexp($cadena, $inicio, $fin) {
preg_match_all('#' . $inicio . '(.*?)' . $fin . '#', $cadena, $matches);
return $matches[1];
}
$total = [];
for ($i = 1; $i <= 6; $i++) {
$url = "https://www.paginasamarillas.es/search/mascotas-y-tiendas-de-animales/all-ma/barcelona/all-is/barcelona/all-ba/all-pu/all-nc/$i?what=mascotas+y+tiendas+de+animales&where=barcelona&ub=false&qc=true";
$web = file_get_contents($url);
$urls = extraeRegexp($web, "<div class=\"envio-consulta\"><a href=\"", "\"");
$total = array_merge($total, $urls);
}
$fichero = fopen("mascotas.csv", "w");
fwrite($fichero, utf8_decode( "Nombre;Categoria;Telefono;Direccion;Cp;Ciudad;Provincia;Web\n"));
foreach ($total as $url) {
$web = file_get_contents($url);
$nombre = extraeRegexp($web, '<h1 itemprop="name">', '</h1>')[0];
$categoria = extraeRegexp($web, '<span class="category">', '</span>')[0];
$telefono = extraeRegexp($web, '<span itemprop="telephone">', '</span>')[0];
$direccion = extraeRegexp($web, '<span itemprop="streetAddress">', '</span>')[0];
$cp = extraeRegexp($web, '<span itemprop="postalCode">', '</span>')[0];
$ciudad = extraeRegexp($web, '<span itemprop="addressLocality">', '</span>')[0];
$provincia = @extraeRegexp($web, '<span class="addressState">', '</span>')[0];
$webaddress = @str_replace("?utm_campaign=paginasamarillas&utm_source=paginasamarillas&utm_medium=referral", "", extraeRegexp($web, 'class="fa icon-link"></i><a href="', '"')[0]);
echo $nombre . ";" . $categoria . ";" . $telefono . ";" . $direccion . ";" . $cp . ";" . $ciudad . ";" . $provincia . ";" . $webaddress . "<br/>";
fwrite($fichero, utf8_decode($nombre . ";" . $categoria . ";" . $telefono . ";" . $direccion . ";" . $cp . ";" . $ciudad . ";" . $provincia . ";" . $webaddress . "\n"));
}
fclose($fichero);
?>