Buenas a todos.
Ando haciendo un proyecto de final de ciclo superior. Estoy haciendo web scraping en http://www.pccomponentes.com . Estoy entrando en una categoria dentro de pccomponentes como por ejemplo procesadores, y en cada subcategoria recojo imagenes, precios y nombres de cada articulo. para luego mas tarde meterlo en una base de datos. Hasta ahi todo bien.
Ademas entro en cada articulo y recojo toda la descripcion ( son muchisimas lineas). Por ejemplo toda la descripcion de aqui: http://www.pccomponentes.com/intel_celeron_g1820.html
El problema viene cuando voy hacer esto ultimo y meterlo en una array simplemente, me sale error:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 24 bytes) in C:\Program Files\XAMPP\htdocs\Scraping\sample\simple_html_dom.php on line 1518
Ya he leido por ahi que es porque estoy haciendo burradas, a ver si me dais una solucion.
Aviso, todo este codigo son pruebas.
spoiler$arrayMultidimensional = array(array(),array(),array(),array());
$nombre = array();
$precio = array();
$img = array();
$descriptionURL = array();
$description = array();
$menu_principal = array();
require 'simple_html_dom.php';
$html = file_get_html("http://www.pccomponentes.com/placas_base.html");
$count=0;
$countCategoria = 0;
$countSubCategoria = 0;
foreach ($html->find('div.menu-familias a') as $value) {
array_push($menu_principal, $value->href);
foreach ($html->find('div.articulo-familia span[itemprop="name"]') as $value) {
array_push($nombre, $value);
}
foreach ($html->find('div.articulo-familia span[class=precio]') as $value) {
array_push($precio, $value);
}
foreach ($html->find('div.articulo-familia div[class=foto-bandera] a img') as $value) {
array_push($img, $value->src);
}
foreach ($html->find('div.articulo-familia span[class="nombre"] a') as $value) {
array_push($descriptionURL, $value->href);
$html2 = file_get_html($value->href);
foreach ($html2->find('div.detalleCaracteristicas') as $key => $value) {
array_push($description, $value);
}
}
}
for ($i=0; $i < count($descriptionURL); $i++) {
$html2 = file_get_html($descriptionURL[$i]);
foreach ($html2->find('div.detalleCaracteristicas') as $value) {
array_push($description, $value);
}
}
array_push($arrayMultidimensional, $nombre);
array_push($arrayMultidimensional, $precio);
array_push($arrayMultidimensional, $img);
array_push($arrayMultidimensional, $description);
//var_dump($menu_principal);
$tabla = "<table border='1'>";
$tabla .= "<tr>";
$tabla .= "<td>Nombre</td><td>Precio</td><td>Imagen</td><td>Description</td>";
$tabla .= "</tr>";
for ($i=0; $i <count($nombre); $i++) {
$tabla .= "<tr>";
$tabla .= "<td>" . $nombre[$i] . "</td>";
$tabla .= "<td>" . $precio[$i]. "</td>";
$tabla .= "<td><img src='" . $img[$i] . "'></td>";
$tabla .= "<td>" . $description[$i]. "</td>";
$tabla .= "</tr>";
}
$tabla .= "</table>";
echo $tabla;
V2: https://www.dropbox.com/s/syt4s3n1h8ixqop/simple%202.php