diff --git a/README-de.md b/README-de.md index ac2e3fc..caf36bb 100644 --- a/README-de.md +++ b/README-de.md @@ -222,6 +222,49 @@ Sowie alle Bilder. Das Format kann man mit der Variable `template` in der Konfiguration ändern. Die `example.conf` enthält ein Beispiel für das Standard Template. +## Verhalten des Tools + +Es gibt einige Dinge über das Verhalten von kleingebäck, über die Du +Bescheid wissen solltest: + +- alle HTML Seiten und Bilder werden immer heruntergeladen +- es wird ein (konfigurierbarer) Useragent verwendet +- HTTP Cookies werden beachtet +- bei Fehlern wird dreimal mit unterschiedlichem Abstand erneut + versucht +- Bilder Downloads laufen parallelisiert mit leicht unterschiedlichen + zeitlichen Abständen ab +- Gleich aussehende Bilder werden nicht überschrieben + +Der letzte Punkt muss genauer erläutert werden: + +Wenn man bei Kleinanzeigen.de eine Anzeige einstellt und Bilder +postet, werden diese dort in ihrer Grösse reduziert (durch Kompression +und Verkleinerung der Bilder usw.). Diese reduzierten Bilder werden +dann von kleingebäck heruntergeladen. Falls Du Deine original Bilder +behalten hast, kannst Du diese danach in das Backupverzeichnis +kopieren. Bei einem erneuten kleingebäck-Lauf werden diese Bilder dann +nicht überschrieben. + +Wir verwenden dafür einen Algorythmus namens [distance +hashing](https://github.com/corona10/goimagehash). Dieser Algorithmus +prüft die Ähnlichkeit von Bildern. Diese können in ihrer Auflösung, +Kompression, Farbtiefe und vielem mehr manipuliert worden sein und +trotzdem als das "gleiche Bild" erkannt werden (wohlgemerkt nicht "das +selbe": die Dateien sind durchaus unterschiedlich!). Bis zu einer +Distance von 5 überschreiben wir keine Bilder, weil wir dann davon +ausgehen, dass das lokal Vorhandene das Original ist. + +Bitte beachte aber, dass dies KEIN Cachingmechanismus ist: die Bilder +werden trotzdem immer alle heruntergeladen. Das muss so sein, da wir +uns nicht die Dateinamen anschauen können, da kleinanzeigen.de diese +nämlich zu Zahlen umbenennt. Und die Dateinamen können sich auch +ändern, wenn der User in der Anzeige die Bilder umarrangiert hat. + +Du kannst dieses Verhalten mit der Option **--force** ausschalten. Du +kannst ausserdem mit der Option **--ignoreerrors** auch alle Fehler +ignorieren, die beim Bilderdownload auftreten könnten. + ## Documentation Die Dokumentation kann man diff --git a/README.md b/README.md index 3cbbd9e..7a1d43d 100644 --- a/README.md +++ b/README.md @@ -207,6 +207,48 @@ variable. The supplied sample config contains the default template. All images will be stored in the same directory. +## Tool Behavior + +There are a bunch of things you might want to know about the behavior +of the kleingebäck tool: + +- all HTML pages and IMAGEs are always being downloaded +- we use a (customizable) user agent +- we respect HTTP cookies +- in the case of an error, the tool does 3 retries, the time it waits + between tries is longer for each retry +- image download is parallized using small time differences to look + more natural +- same images are not being overwritten on subsequent download + + +The latter needs to be elaborated a bit more: + +If you publish an ad on kleinanzeigen.de and post images, those images +will be reduced in size by the site (by compressing and down sizing +them). This reduced images will be downloaded by kleingebäck. However, +you may still own the original images and may want to put them into +that backup directory so that you have all things for one ad together. + +You can easily do that, because kleingebäck won't overwrite those +original images. It uses something called a distance hash using +[goimagehash](https://github.com/corona10/goimagehash). This +algorithmus checks the similarity of images. If an image has been +resized it is still very similar to the original one. We accept a +maximum of a distance of 5, everything above leads to overwrite. + +This works with resizes, cropped and otherwise manipulated images as +long as the image still shows the original contents good enough. + +Also note, that this is NOT a caching mechanism: the images will be +downloaded anyway during each run. We also can't look at the file +names because kleinanzeigen.de renames all images to numbers. And +those might even change if the user re-arranges the images. + +You can override this behavior using the **--force** option. Another +option, **--ignoreerrors**, can be used to ignore all kinds of image +errors. + ## Documentation You can read the documentation [online](https://github.com/TLINDEN/kleingebaeck/blob/main/kleingebaeck.pod) or locally once you have installed kleingebaeck with: `kleingebaeck --manual`.