Irrer Tagesablauf, noch schlimmer als in Deutschland aber so ist das bei Party bis in den Morgen. Ich schlief ganz gut aus, saß dann wieder am Imagescraper. Die Sache gestaltet sich mit jedem Tag komplizierter.
Das Hauptproblem ist, dass geöffnete URLs nicht so einfach geschlossen werden. Wenn ich die URL also ein zweites mal öffnet, schlägt so manches CDN Alarm und schickt einen 403 Code zurück. Damit bringt mein Download zusammen. Ich könnte also die URL offen halten, was bisher auch soweiso so blieb, oder einen Timeout für eine erneute Öffnung einbauen oder eben das Ding mit einem Hack schließen.
Alles doch etwas komplizierter aber wenigstens passen so einige Sachen zusammen. Eventuell bereit heruntergeladene Files werden gespeichert, kleine JPGs werden nicht neu komprimiert sonder einfach auf S3 kopiert. Die Sache macht ingesamt alles Sinn. Am liebsten wurde ich das urlopen-Problem noch in den Griff bekommen aber der Leak ist eben direkt in Python drin. Vielleicht sollte ich doch alles mit der request-Library umschreiben.
Dass alles im RAM vor S3 gespeichert wird, ist schon ganz cool. Ich sollte mich jetzt aber auf die nächste Sache konzentrieren.
Ich machte noch schnell den Abgleich, falls der Content-Type nicht kommt, sodass ich den Filetyp nach der Dateiendung mache. Das Script ist jetzt schon über 200 Zeilen Code lang und wird noch länger, wenn ich die Seiten ohne Bilder dann direkt über die Website statt RSS scrape.
Eine Idee zur Deduplizierung hatte ich gestern noch: neben der Wortschnittmenge einfach auch meine RegEx content-Extra vergleichen. Wenn die gleichen Preise oder Rabatte erkannt werden, sollte es sich auch um den gleichen Deal handeln. Insofern sind Schnäppchenseiten sicher am einfachsten zu deduplizieren.
Am Ende fand ich raus, dass ich blöderweise die falsche imgUrl angab. Das socket.close machte ich dennoch. Alles sehr hackig über die ganzen trys aber es geht nun. Der Blog füllt sich nun stets mit Bildchen, schön komprimiert und skaliert, falls nötig. Es mussten echte eine Menge Fälle behandelt werden, damit nur die nötigsten Daten geladen und gespeichert werden. Jetzt habe ich keine einzige Hotlink, doch ich werde wohl auf 640px gehen, was standardisierter klingt. 1:30 machte ich erst mal Schluss. Ich schaffte es bis dahin noch ein paar Routines für Schnäppchenfee und vor allem mydealz zu definieren. Bei mydealz musste ich die URL splitten und kann somit auch das Highresbild runterladen, wenn mal kein Bild im RSS ist. Snipz ging auch noch aber das ganze Spaghetti-Konstrukt musste jetzt aufteilt werden. Das dauerte und erst um 3 kam ich nochmal vor die Tür. Gleich auf der gegenüberliegenden Straßenseit zum Sushi. Die haben bis 5 auf und es war auch Happy Hour. Ich bekam 2 Suppen und dann auch 2 Rollen. War ganz nett, etwas nervig nur, dass immer mehr verkauft werden sollte.
Dann noch in den Supermarkt und um 4 wieder zu Hause. Gesundheitlich nicht so dolle – halt wieder das alte neue Problem. Liegt wohl auch am komischen Schlaf.
Als nächstes passe ich das Gazette Theme an. Ein arbeitsreicher Sonntag und jetzt 300 Zeilen mit etwas Füllzeug/Kommentaren. Dennoch eins der größten Skripte, die ich bisher schrieb. Machte voll Spaß aber es gibt nur einiges zu tun, das noch besser zu machen. Erst mal aber nicht – ein Launch muss her und mit etwas Anpassung und auch ohne Deduplizierung geht’s erst mal Richtung Design und Server.




0 Responses to “Socket und Urllib2”