Artikelpreise von Website parsen.

stefan.h

Mitglied
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

Top Contributor
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

Top Contributor
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

Mitglied
@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

Top Contributor
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

Mitglied
@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

Super-Moderator
Mitarbeiter
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? o_O

(Aber nett platzierte Werbung im Quelltext ;) )
 

Dukel

Top Contributor
@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.
 

Ähnliche Java Themen

Neue Themen


Oben