Acudo a los expertos porque no soy capaz de obtener el valor del atributo itemprop=price
. Ya no sé qué más hacer. He leído la documentación pero tampoco soy capaz de resolverlo. Utilizo la clase Simple_html_dom
.
<div class="prices text-left-adjust" itemprop="offers" itemscope="itemscope" itemtype="http://schema.org/Offer"><div class="price taxable-price "><span><span itemprop="price">187.50</span><meta itemprop="itemCondition" itemtype="http://schema.org/OfferItemCondition" content="http://schema.org/NewCondition"><meta itemprop="availability" content="http://schema.org/InStock"><span class="euro">€<meta itemprop="priceCurrency" content="EUR"></span></span><span class="price-label"><span class="price-label was-price linedthrough"> 250.00<span class="euro">€</span></span></span></div><div class="price retail-price"><span> 495.00<span class="euro">€</span></span><span class="price-label">PVP Italiano</span> </div></div>
Aquí muestro el código (en pruebas). El bloque de código anterior se encuentra dentro del div class=catalog-product
:
<?php include('simple_html_dom.php'); $html = file_get_html("https://www.somesite.com/es/catalog/"); $divs = $html->find('div[class=catalog-product]');?><table class="bordered border-dark" border="1"><tr><th colspan="2">Marca</th><th colspan="2">Nombre</th><th colspan="2">SKU</th><th colspan="2">Categoria</th><th colspan="2">Tallas </th><th colspan="2">Disponibilidad</th><th colspan="2">Precio</th></tr><?php foreach($divs as $div) { $tables = $div->find('table[class="table sizes"]'); foreach($tables as $table) { ?><tr><td><?php echo $div->find('span[class="product-brand"]', 0)->plaintext; ?></td><td><?php echo $div->find('span[class="product-name"]', 0)->plaintext; ?></td><td><?php echo $div->find('span[class="product-sku"]', 0)->plaintext; ?></td><td><?php echo $div->find('span[class="product-category"]', 0)->plaintext; ?></td><td><?php echo ucwords($table->find('td', 0)->plaintext); ?></td><td><?php echo $table->find('td', 1)->plaintext; ?></td> <td><?php echo $div->find('span[itemprop="price"]', 0)->plaintext; ?></td> </tr> </tr><?php } } ?></table>
Aquí muestro la imagen de la tabla que se crea con el resultado en la columna precio: Se evidencia que no está obteniendo ningún resultado.