Nachdem Amazon Preise sich bekanntlich gerne häufig mal ändern (und es auch heißt dass diese je nach Gerät welches die Seite aufruft unterschiedlich sind) wollte ich das mal beobachten.
Als allererstes nehme ich mir eine beliebige Amazon-URL:
http://www.amazon.de/Coffee-go-Igel-mit-Herz/dp/B007NHZMKQ/ref=sr_1_2?ie=UTF8&qid=1455108745&sr=8-2&keywords=igel
Entferne die Such-Informationen um nur den Produktlink zu haben:
http://www.amazon.de/dp/B007NHZMKQ
Und nun hänge ich an die Produktnummer den Link für Mobilgeräte dran – denn diese Seite lässt sich erheblich leichter parsen weil viel SchnickSchnack nicht mit drin ist:
http://www.amazon.de/gp/aw/d/B007NHZMKQ
Diesen Link lasse ich nun von einem kleinen Python-Script parsen – der Link ist der Aufrufparameter an das Script:
#!/usr/bin/python3 import requests import sys textvorpreis = r'<b>Preis:</b> EUR ' textnachpreis = r' <br' if len(sys.argv) > 1: preisurl = sys.argv[1] webpage = requests.get(preisurl) preispos = webpage.text.find(textvorpreis) preispos = preispos + len(textvorpreis) endpreispos = webpage.text.find(textnachpreis, preispos) preis = webpage.text[preispos:endpreispos] preis = preis.replace(',', '.') print("Preis: " + str(preis)) else: print("Parameter 1 is URL.") print("Example: http://www.amazon.de/gp/aw/d/B00QQCGZ50")
Aufruf erfolgt nun so:
getpreis.py http://www.amazon.de/gp/aw/d/B007NHZMKQ
Und schon steht das Ergebnis da:
In meiner Version schreibt das Script die Preisdaten in eine simple Mysql-Tabelle und wird per Cronjob alle 15 Minuten aufgerufen.
Und jetzt warten wir mal ab was Amazon so mit den Preisen meiner Wunschartikel macht 🙂
Schreibe einen Kommentar