# Lieferantenseite Crawlen, DomXPath

**URL:** <https://forum.shopware.com/t/lieferantenseite-crawlen-domxpath/91091>\
**Category:** Shopware 5\
**Created:** [26. Oktober 2021 um 11:43 UTC](https://forum.shopware.com/t/lieferantenseite-crawlen-domxpath/91091 "2021-10-26T11:43:20Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)\
**Post date:** [26. Oktober 2021 um 11:43 UTC](https://forum.shopware.com/t/lieferantenseite-crawlen-domxpath/91091/1 "2021-10-26T11:43:20Z")

</div>

Hi,  
ein Liefererant hat keine Excel-Listen seiner Produkte, aber wir dürfen seine Website crawlen.

Das klappt auch ganz gut mit Curl und anschliessendem DomXPath-\>query() .  
An zwei Stellen komme ich nicht weiter.

Der 1. HTML-Node sieht so aus . Den Wert [10.00; RR=Ja; Bsp1] möchte ich als string oder array haben:

```auto
<div class="beispielName">
  <span class="value">
    <span>[10.00; RR=Ja; Bsp1]</span>
  </span>
</div>

```

Der 2. HTML-Node sieht so aus. Den Wert was:Irgendwas möchte ich als string oder array haben:

```auto
<div class="beispielName">
  <span class="value">
    <span>was:Irgendwas</span>
  </span>
</div>

```

Ich bekomme aber keinen Wert ausgelesen. Es ist auch der einzige Node der so heisst.

```php
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML(mb_convert_encoding($htmlstring, 'HTML-ENTITIES', 'UTF-8'));

$finder = new DomXPath($dom);
/*dieser Query gibt nichts zurück*/
$finder->query("//*[contains(@class, 'beispielName')]//*[contains(@class, 'value')]");
/*dieser Query gibt nichts zurück*/
$finder->query("//*[contains(@class, 'beispielName')]//*[contains(@class, 'value')]")->item(0)->nodeValue;

```

Liegt es an Doppelpunkt oder an den Eckigen Klammern? Bei allen Knoten wo das nicht vorkommt klappt alles wunderbar.

Danke und Gruss.

---

<div class="post-metadata">

**Author:** ![phil](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/phil/32/13661_2.png) [@phil](https://forum.shopware.com/u/phil)\
**Post date:** [26. Oktober 2021 um 14:37 UTC](https://forum.shopware.com/t/lieferantenseite-crawlen-domxpath/91091/2 "2021-10-26T14:37:00Z")

</div>

Das ist jetzt aber keine Shopware-Frage mehr 😉

Doppelpunkt hat in XML eine spezielle Bedeutung, und mit XPath werden die Daten ja als XML interpretiert. Versuch mal, vorher diese Doppelpunkte innerhalb der HTML Tags durch ein XML-kompatibles Encoding, also `&#58;` zu ersetzen, bevor Du XPath drauf loslässt.

LG Phil
