[Tool] Amazon WHD Crawler (für das einfachere Erstellen von Angeboten) in C#

Hierbei handelt es sich um einen indirekten Port der PHP-Fassung zu C#.

Das bedeutet, dass der Crawler nun lokal auf jedem Rechner als eigene Anwendung läuft.

Aus diesem Grund ist das ganze auch OpenSource, jedoch habe ich mich noch für keine Lizenz entschieden, weswegen ich mir derzeit noch alle Rechte vorbehalte.

Coding-Aufwand betrug gute 5,5 Stunden, ein Großteil ging wegen dem seltsamen Charset-Encoding von C# drauf.

Beste Kommentare

Verfasser

Github Repository: github.com/mai…ows

Relase-Übersicht (& Download): github.com/mai…ses

Kurzanleitung:

1) Ihr tragt unter URL einen Link ein zu einem Amazon-Produkt ein (z.B. amazon.de/AVM…SG/ )
2) Ihr klickt auf "Beginne Crawling"
3) Ihr bekommt folgende Ausgabe (rechts - STRG + A geht nicht, ihr müsst es also mit der gedrücken linken Maustaste auswählen):




4) Profit

Bearbeitet von: "Mario" 1. Jul 2016
42 Kommentare

Verfasser

Github Repository: github.com/mai…ows

Relase-Übersicht (& Download): github.com/mai…ses

Kurzanleitung:

1) Ihr tragt unter URL einen Link ein zu einem Amazon-Produkt ein (z.B. amazon.de/AVM…SG/ )
2) Ihr klickt auf "Beginne Crawling"
3) Ihr bekommt folgende Ausgabe (rechts - STRG + A geht nicht, ihr müsst es also mit der gedrücken linken Maustaste auswählen):




4) Profit

Bearbeitet von: "Mario" 1. Jul 2016

Nochmal?

Verfasser

Newsletter123

Nochmal?



PHP != C#

Das Ding hier ist für jeden DAU bedienbar (hoffe ich).

Dann kann ich ja meinen Hosting-Dienst einstellen 9903097-1qcJ9 Nice.
Verarbeitet der Crawler auch mobile Links und mobile offer-listings?
Außerdem ist das PHP != C# etwas untertrieben. Auch wenn ich C# nicht mag: C# >> PHP

Verfasser

ExtraFlauschig

Verarbeitet der Crawler auch mobile Links und mobile offer-listings?



Ähm, jein. Ich habe deinen Pull-Request so halb umgesetzt, danke dafür nochmals.

Du kannst das im Array jetzt ganz einfach selbst ändern, schau' dir einfach mal die Methode extract_asin(string URL) an.

Kann hier evtl. jemand einen Screen des Hauptprogramms einstellen? Finde das Ganze recht interessant, aber habe gerade nur Linux am Laufen...

Verfasser

Draylin

Kann hier evtl. jemand einen Screen des Hauptprogramms einstellen? Finde … Kann hier evtl. jemand einen Screen des Hauptprogramms einstellen? Finde das Ganze recht interessant, aber habe gerade nur Linux am Laufen...



3a138fe2-2772-11e6-9d17-9efd1edfc05e.PNG

Dürfte aber mit Mono auch unter Linux laufen.

Mario

Dürfte aber mit Mono auch unter Linux laufen.


Ich hatte nur überlegt, das auf QT mit C++ zu portieren. Aber mit meiner Motivation wird das sicher nichts.

Wow sehr sehr geil
Du schreibst du hast das ganze auch in php vorliegen?
Würde das php bevorzugen für den privaten Gebrauch
Danke hierfuer! Respekt.

Verfasser

Draylin

Ich hatte nur überlegt, das auf QT mit C++ zu portieren. Aber mit meiner Motivation wird das sicher nichts.


Spar' dir die Zeit, ich wollte nur mal wieder in C# reinkommen.

Hoermis

Wow sehr sehr geil :)Du schreibst du hast das ganze auch in php vorliegen? Würde das php bevorzugen für den privaten Gebrauch :)Danke hierfuer! Respekt.



github.com/mai….de

Verfasser

Ok, also muss da noch ein Trim dran und was da crasht, weiß ich gerade nicht willusch, er versucht auf einen Namen zurückzugreifen, den es nicht gibt. Mal manuell checken...

Ach ist das schon wieder ein Mist, I am working on it.

Habs mal auf meinen Server geladen, aber gibt immer nen 500er Fehler, sobald ich den Link "Senden" möchte...
Ne Idee?

Verfasser

Hoermis

Habs mal auf meinen Server geladen, aber gibt immer nen 500er Fehler, sobald ich den Link "Senden" möchte... Ne Idee?



Kann an der PHP Version liegen.

Ansonsten sollte der Crawler eigentlich out of the box funktionieren, ggf. mal das Error-Reporting anmachen.

Bei manchen PHP-Versionen werden die Sprungmarken nicht unterstützt, bei anderen geht die Array-Definition in der Form nicht.

Verfasser

willusch




Sollte gefixt sein, neuer DL Link steht oben.

Hoermis

Habs mal auf meinen Server geladen, aber gibt immer nen 500er Fehler, sobald ich den Link "Senden" möchte... Ne Idee?




HMmm, auf Zwei Servern probiert, die einen unterschiedlichen rls Stand haben und unterschiedliche PHP Versionen, beidemal nen 500er Error :s

Verfasser

Hoermis

HMmm, auf Zwei Servern probiert, die einen unterschiedlichen rls Stand haben und unterschiedliche PHP Versionen, beidemal nen 500er Error :s



Ich schau' morgen nochmal in den Quelltext rein. Aber 500 ist meist eigentlich immer nur ein fehlendes Error-Reporting.

Mit wäre es halt einfach zu wissen, was fehlt.

Hoermis

HMmm, auf Zwei Servern probiert, die einen unterschiedlichen rls Stand haben und unterschiedliche PHP Versionen, beidemal nen 500er Error :s



Ich schaue morgen mal genauer rein



Klappt mit nem Mac nicht oder?

Bearbeitet von: "Nikeboy48" 1. Jun 2016

Verfasser

Nikeboy48

Klappt mit nem Mac nicht oder?



Mit Mono vielleicht: mono-project.com/doc…sx/

Nikeboy48

Klappt mit nem Mac nicht oder?



Also jetzt für den Informatik Laien, einfach Mono runterladen und dann direkt den Crowler runterladen?

Verfasser

Nikeboy48

Also jetzt für den Informatik Laien, einfach Mono runterladen und dann direkt den Crowler runterladen?



Mono runterladen, installieren und dann die Exe über die Konsole mittelns Mono starten, richtig.

Nikeboy48

Also jetzt für den Informatik Laien, einfach Mono runterladen und dann direkt den Crowler runterladen?



Alles klar, vielen Dank!

Verfasser

Nikeboy48

Alles klar, vielen Dank!



Habe es gerade an meinen Linux-Notebook ausprobiert. Das Tool geht soweit, allerdings ist das mit dem Charset-Encoding etwas buggy, weswegen Idealo vermutlich nicht funktioniert und die Sonderzeichen fehlen. Weiß der Teufel, warum das so ist. Ich komme damit bei C# nicht wirklich klar.

I am not good at programming, because I don't C# - badumm tzz.

Ja, das ist mal hot.. !! Danke Mario, damit kann man nun selber Suchen... Geil, obwohl, es wird härter..



Damit Strg-A funktioniert füge diese Funktion in deinem Code hinzu und hänge das KeyDown-Ereignis der Textboxen an diese Funktion.

Bearbeitet von: "somebody" 1. Jun 2016

Funktioniert bei mir nur bei gut jedem fünften Artikel - meistens bekomme ich eine Fehlermeldung

"Unbehandelte Ausnahme in der Anwendung (...) Der Index lag außerhalb des Bereichs. Er darf nicht negativ und kleiner als die Auflistung sein.Parametername: startIndex"

Bearbeitet von: "Bruddha" 1. Jun 2016

Verfasser

"Unbehandelte Ausnahme in der Anwendung (...) Der Index lag außerhalb des Bereichs. Er darf nicht negativ und kleiner als die Auflistung sein.Parametername: startIndex"



Hast du mal einen Link da, der nicht geht?

Verfasser

Mario



Ach Gott, wie konnte ich den Fall nur vergessen, danke, wird, wenn ich wieder wach bin, gefixt.

Kann es sein, dass bei dem Idealo-Vergleich die Amazonpreise nicht rausgenommen werden? Hatte jetzt bei einigen Artikeln den Fall dass Amazon und Idealopreis identisch waren, was ja logisch ist weil bei Idealo der Amazonpreis der beste war.

Und ich hab auch mit der neuen Version auch noch des öfteren Abstürze wenn ich mit dem Crawling beginne.

Bearbeitet von: "IchRoque" 4. Jun 2016

Klappt mit folgendem Link leider immer noch nicht:
amazon.de/gp/…me=

Verfasser

IchRoque

Kann es sein, dass bei dem Idealo-Vergleich die Amazonpreise nicht rausgenommen werden? Hatte jetzt bei einigen Artikeln den Fall dass Amazon und Idealopreis identisch waren, was ja logisch ist weil bei Idealo der Amazonpreis der beste war.Und ich hab auch mit der neuen Version auch noch des öfteren Abstürze wenn ich mit dem Crawling beginne.




Ja, weil das einen weiteren Seitenaufruf bräuchte.

Beispiele?


raty

Klappt mit folgendem Link leider immer noch nicht:https://www.amazon.de/gp/product/B00YPS768C/ref=olp_product_details?ie=UTF8&me=



Das wird auch nie klappen, weil ich den Crawler dafür etwas falsch aufgebaut habe. Das ist generell bei allen Produkten der Fall, bei denen es Variationen mit nem Dropdown gibt, leider.

Danke fürs Tool

Bearbeitet von: "Larry" 26. Jun 2016

Verfasser

In weiser Voraussicht, dass es am Prime-Day wieder eine Rabattaktion gibt, habe ich das Tool jetzt mal aktualisiert und dem ganzen eine Funktion verpasst, welche es erlaubt, einen Rabatt einzutragen:

10323523-B7Gtp

Das Ergebnis sieht dann so aus:


10323523-ztTjZ
LG 27UD68-W mit 68,58 cm (27 Zoll) Computer-Monitor (HDMI, HDCP, DisplayPort, 5 ms Reaktionszeit, Ultra HD 4 K) Weiß

Neupreis auf Amazon.de: 549,00 EUR
Idealo (LG 27UD68): 462,23  EUR

Akzeptabel - 442,29 EUR * 0,80 = 353,83 EUR
Sehr gut - 476,40 EUR * 0,80 = 381,12 EUR
Wie neu - 526,00 EUR * 0,80 = 420,80 EUR


(Die Zunahme in der Größe der *.exe Datei ist dem kleinen Logo geschuldet... ;))

Kann ich da auch mehrere URL einstriagen um eine ganze Liste zu crawlwn?

Verfasser

Warehouse-Sniper

Kann ich da auch mehrere URL einstriagen um eine ganze Liste zu crawlwn?



Nope, muss nacheinander erfolgen.
Dein Kommentar
Avatar
@
    Text
    Top Diskussionen
    1. Küche mit gutem Preisleistungsverhältnis89
    2. Suche Deal aus 2015 / 2016: AYCF ab Schweizer Flughafen22
    3. Neue 2017 Xiaomi Air 12 Version mit selben Netzteil wie 2016er version44
    4. Wenn der eBay-Käufer nicht zahlt - ein Klageweg91177

    Weitere Diskussionen