Как я могу разобрать с PHP HTML-страницу со свойствами Itemprop на определенном узле? - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь построить скребок для продукции 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&#x27;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&#x27;air et d&#x27;espace et gardent ainsi plus longtemps leur aspect neuf. Comme le meuble dispose de pieds uniquement à l&#x27;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.

Спасибо всем!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...