Ich checkte die Flüge von Oman Air aber die Preise waren doch zu hoch. Von Prag kommt man nack KL oder BKK auch für knapp €500, genauso wie von Frankfurt. Nichts zu sparen.
Eine neue Lazyload version für Bilder und sogar Skripte fand ich. Sollte nützlich werden, wenn ich die Sites mal auf Speed optimiere. Soweit ist’s noch nicht. Erst mal die Preisdaten definieren.
Ich machte also schnell ein weiteres Plugin, was den Title nimmt, die RegEx von letzter Woche anwendet. Mit dem UTF-8 Zeug hatte ich Probleme aber kam auch zum Resultat.
extra = content_extra[0].decode("utf-8")
Eigentlich ist das ein „Callout“ aber das fand ich zu spät.
Die Extra-Daten wurden also korrekt als Custom-Field übernommen und auch nur dann, falls es was gab. Die Callouts mache ich in einen gelben Kreis. Das CSS zu definieren und Theme abzuändern kommt später. Eine Mario-Münze sollte auch in’s Logo für gamesnap und generelles Spar-Symbol
Als letztes Plugin oder Skript muss ich Watir und Ruby nehmen, was die echte Link heraussucht. Eigentlich will ich den stdout in Python übernehmen, damit die Kette der Plugins nicht unterbrochen wird und nur ein Mal gepostet wird.
Von Python wurde also Ruby und dann Watir geöffnet und gab die Daten zurück. Erste Sahne, nur das ständige Öffnen und Schließen von Firefox ist nicht gerade optimal. Eine andere Möglichkeit sehe ich jetzt aber nicht in der Architektur. Skalierung von Scrapern ist eben nicht ohne. Ich fand’s aber affengeil, wenn sich aus Python das Ruby Zeug anstoßen ließ und am Ende die richtige Link ausspuckte. Das Ding ist jetzt nur, für jede Seite den entsprechenden Outlink-Button zu finden und dann in Watir zu clicken. Daszu musste auch ein Test her, ob die Link existiert. Nach einigem herumdeideln fand ich für MyDealz:
if myUri.host == 'www.mydealz.de'
if (browser.div(:class => "thread-deal tGrid-cell").link).exists?
# This is the first Link element inside this div
browser.goto (browser.div(:class => "thread-deal tGrid-cell").link(:index => 0).href)
end
end
Es ist ja wichtig, dass es keine Fehler gibt, damit die Browser auch immer schön geschlossen werden.
Die anderen Sites sollten schneller gehen. Ich überlege mir, den Scraper erst mal auf dem MacMini laufen zu lassen, bevor ich auf Debian deploye. Damit hätte ich bessere Kontrolle erst mal und auch ständig eine neue IP Adresse. Noch ist’s nicht so weit. Ich machte erst mal die popdealz Blogs fertig. Insgesamt ist Watir aber vielversprechend, weil ich komfortabel allerhand Daten aus einer Seite herausziehen kann – also auch Popularität der Links: Heat, Kommentare und sogar die Shares, wobei da noch Javascript nachgeladen und wohl gewartet werden muss. Das aber alles erst später nur mit dem Webinspektor ist es wirklich einfach, die Dinger in entsprechende Watir Filter zu entwickeln.
So machte ich die ganzen Spieleschnäppchen-Blogs zuerst, was eine reichliche Stunde brauche – bis 1:15. HQGaming solte ich entfernen.
Nach einer Stunde Pause setzte ich mich an die anderen Blogs. Da verzweifelte ich an dealgott.de, der seine Links manchmal nur auf’s Bild lenkte. Da er jedoch ein Bild auch für die Deal-Link nahm, prüfte ich auf’s zweite Element und nahm das dann.
Ein Re-Routing dann auf Dealbunny klappte nicht. Es ging auf eine Shortlink auf Bee5.de und Watir stieg aus. Ich muss sehen, dass ich bis auf ein anderes Element dann warte. Sowas dynamisches hatte ich noch nicht gesehen oder JS deaktivieren? Muss ich mir merken. Lustig, dass im Sourcecode stand, das man nichts zu verbergen hat und man doch mal KOntaktieren soll. Man könnte bei solchen Dingern die URL-Länge Testen, ob da ein Link-Shortener dahintersteckt. Auf dealbote ging das normale Prinzip auch in die Hose. Der hat auch ein PHP Script drin, womit Watir Probleme bekommt und nicht wartet. Ich muss also Wartesachen einbauen oder die Link dann per RegEx säubern, weil sie einfach per ?url= bei ihm mit drinne steckt.
Schäppchenfee und Gadgetdealz ließ ich raus und so war ich nach 4 erst mal fertig. Morgen muss ich mich mal um andere Sachen kümmern, vielleicht den Mac mini aufbauen und einrichten und Steuersachen klären. Ich denke, dass ich nicht die richtige Routine habe. Die Links sollte ich einbauen können und Amazon wenigstens auf meinen Code verlinken. Die Chain wird länger: RSS fetch, scrubbing, image-cache, destination-links. Die Kohle liegt an der nächsten Stufe und dann sollte ich auch den Content schrreiben. So richtig gefällt mir das noch immer nicht. Es geht dann wirklich besser um die Bewertung von Deals und Deduplication so quasi als Meta Deal Blog. Erst mal sollte ich aber wenigstens den gamesnap Blog launchen und sehen, wie das überhaupt was bringt.
Am Ende fand ich noch Waitr Tips und mehr und sogar ’nen Cheatsheet.
Ich muss eine Möglichkeit finden, die Bilder-Downloads zu blockieren. SwiperProxy kann Header filtern aber mit dem guten alten Squid geht’s wohl auch. Privoxy ist alt nur geht wohl nicht auf’m Mac.


0 Responses to “Watir, Asien oder nicht”