Я пытаюсь построить скребок для продукции IKEA.Несколько месяцев назад они обновили некоторые из своих веб-сайтов (прежде всего, в Европе), и теперь сведения о продукте вводятся во многих Itemprop DIV с метатегами, которые имеют одинаковое имя «name».
Вот пример: https://www.ikea.com/fr/fr/p/staell-armoire-a-chaussures-3-casiers-blanc-50178091/
<div itemscope itemtype="http://schema.org/Product"
class="product-pip js-product-pip"
data-pip-version="2"
data-product-id="50178091">
<meta itemprop="name" content="Armoire à chaussures 3 casiers STÄLL blanc"/>
<div itemscope itemprop="brand" itemtype="http://schema.org/Organization">
<meta itemprop="name" content="IKEA"/>
</div>
<meta itemprop="description" content="Vous permet de ranger efficacement vos chaussures tout en libérant de l'espace au sol. Chaque compartiment possède des rangées doubles qui peuvent contenir davantage de chaussures. Dans ce rangement vos chaussures bénéficent d'air et d'espace et gardent ainsi plus longtemps leur aspect neuf. Comme le meuble dispose de pieds uniquement à l'avant, il repose parfaitement contre le mur au-dessus de la plinthe. "/> <meta itemprop="productID" content="501.780.91"/>
<meta itemprop="image" content="https://www.ikea.com/PIAimages/0710720_PE727741_S5.JPG"/>
<meta itemprop="url" content="https://www.ikea.com/fr/fr/p/staell-armoire-a-chaussures-3-casiers-blanc-50178091/"/>
<div class="product-pip__top-container flex center-horizontal">
Я попытался получить узлы itemprop со следующим;безуспешно, так как многие метатеги имеют одно и то же имя в разных узлах, но безуспешно.
$dom = new DOMDocument();
$dom->loadHTML($html);
$dox = new DOMXPath($dom);
$prop = $dox->query("//div[@itemprop='name']");
Любая помощь будет полезна для доступа к мета itemprop name ="имя", которые находятся под этим конкретным Предметом DIV.
Спасибо всем!