# Artikelpreise von Website parsen.



## stefan.h (18. Feb 2018)

Hallo Leute.

Ich bin grad dabei alle Artikel inklusive Preis aus einem Onlineshop zu parsen.
Leider komm ich irgendwie nicht drauf wie ich mir den Preis am besten rausziehen kann.
Liegt das daran, dass die Seite mit Javascript aufgebaut ist bzw. ist das ganze überhaupt möglich?

Hier eine Beispielseite:
https://www.merkurmarkt.at/shop/08-803489/sanlucar-bananen-lose
Ich kann alles von den Detailseiten parsen, da ich alle URLs besitze.

Ich arbeite derzeit mit Jsoup.

Danke schonmal


----------



## Dukel (18. Feb 2018)

Das will man eigentlich nicht. Entweder du machst einen Fehler oder der Anbieter ändert seine Webseite und du hast unter Umständen die falschen Preise bei den falschen Artikeln.
Vielleicht bietet der Shop eine Schnittstelle an, die man nutzen kann.


----------



## krgewb (18. Feb 2018)

In dem Quelltext von deiner genannten Seite gibt es Code innerhalb von script-Tags. Dort steht: JSON.parse(...)
Den Preis pro Kilo (1.99€) kann ich da wiederfinden.


----------



## stefan.h (18. Feb 2018)

@Dukel Warum die falschen Preise zu falschen Artikeln, wenn ich immer wieder neu parse?
Stimmt vielleicht gibts ja ne API...


@krgewb Danke, das werd ich mir gleich mal ansehen.


----------



## stefan.h (18. Feb 2018)

@krgewb Ich denke das Problem warum man den Einzelpreis hier nicht findet ist, dass er in zwei Teile aufgeteilt wurde.
Zumindest sagt das der Code wenn man ihn untersucht.
Aufgeteilt in Vorkomma- und Nachkommastelle.


----------



## krgewb (18. Feb 2018)

Wenn ich die Preisangabe mit der rechten Maustaste anklicke und dann auf "Untersuchen" klicke dann erscheint der HTML-Quelltext. Darin befinden sich die span-Blöcke mit dem Preis (in Vor- und Nachkommastelle aufgeteilt, wie du gerade schriebst).
Wenn ich mir aber den Quelltext der Seite anzeigen lasse fehlen diese span-Blöcke komplett. Deshalb weiß ich nicht, ob sie dann überhapt für JSoup sichtbar sind.


----------



## stefan.h (18. Feb 2018)

@krgewb Ja genau das war mein Problem.

Hab jetzt eine Lösung die Preise und auch der Name des Produkts sind im Quelltext in einem Skript Tag (wie von dir geschrieben) versteckt.
Der preis is darin in Cent angegeben.

Da muss ich halt irgendeinen Suchalgorithmus schreiben, der mir das ganze auflöst.

Lg


----------



## mrBrown (18. Feb 2018)

krgewb hat gesagt.:


> Wenn ich die Preisangabe mit der rechten Maustaste anklicke und dann auf "Untersuchen" klicke dann erscheint der HTML-Quelltext. Darin befinden sich die span-Blöcke mit dem Preis (in Vor- und Nachkommastelle aufgeteilt, wie du gerade schriebst).
> Wenn ich mir aber den Quelltext der Seite anzeigen lasse fehlen diese span-Blöcke komplett. Deshalb weiß ich nicht, ob sie dann überhapt für JSoup sichtbar sind.


Wie schaffst du es, den Quelltext auf zwei unterschiedliche Arten mit unterschiedlichem Inhalt anzeigen zu lassen? 

(Aber nett platzierte Werbung im Quelltext  )


----------



## Dukel (18. Feb 2018)

stefan.h hat gesagt.:


> @Dukel Warum die falschen Preise zu falschen Artikeln, wenn ich immer wieder neu parse?
> Stimmt vielleicht gibts ja ne API...



Wenn falsch geparst wird, kann es sein, dass andere Zahlen als Preis erkannt wird, oder bei einer Artikelliste verrutscht das Ergebnis und ein Preis wird falsch zugeordnet.
Mir wäre das zu unsicher eine Webseite zu parsen, die jederzeit von jemand anderes geändert werden kann und die Ergebnisse verfälschen kann. Hier hat man selbst keine Kontrolle über ein korrektes Ergebnis.


----------

