knuspermagier.de

Hallo. Ich bins! Philipp!

Irgendwie witzig, wie ich es hier Anfang des Jahres “problemlos” schaffte, jeden Tag einen Post zu schreiben, und jetzt seit einem Monat quasi nix, oder? Ist man einmal im Flow, is es auf jeden Fall leichter, weiter zu machen.

Youtube-Empfehlungen

Leute, ich hab da so eine Webseite entdeckt, auf der man gratis Videos anschauen kann. Hier gibt es ein Video und zwei Channels, die ich in den letzten Tagen gesuchtet habe. Qualitätscontent!

Tracking?

Ich muss gestehen, dass ich hier für ein paar Monate doch mal wieder ein Tool mitlaufen hatte, dass die Seitenaufrufe zählte. Keine Sorge, kein Google Analytics, oder so, sondern nur ein selbstgehostetes Umami. Ich dachte, es wär mal wieder interessant zu wissen, wie viele sich eigentlich hier her verirren.

Ja, ich hab mein obskures Skript, dass die Logfiles auswertet, aber ich wollte bunte Grafen sehen!

Naja, turns out, nach ein paar Monaten: Ist mir auch egal und es nervt mich, ein JavaScript-Snippet einzubinden.

20210224-155313-pwa-7867.jpg

Con: Bereits im Februar verirrt sich eine müde Wespe auf unseren Balkon
Pro: Ich kann die Macro-Funktion meines RF35mm/1.8 ausprobieren. Schärfer, als ich dachte.

Es klingelt nocht nicht

Ich wüsste gerne, wann es klingelt, ohne die Klingel anhaben zu müssen. Mittlerweile kam mein Aqara Bewegungsmelder an, der laut Berichten auch die Helligkeitsveränderungen direkt reported.

Was soll ich sagen? Sieht zwar witzig aus, wie das da an der Klingel klebt, aber leider löst es nicht aus, wenn der Monitor angeht. Dafür aber in tausend anderen Fällen. Schade. Bisher erscheint mir die einzige Lösung, so eine Homekit-Kamera auf die Klingel zu richten und dort einen Bewegungsalarm einzurichten. Wäre ein bisschen übertrieben und erfordert ein Kabel. Hm.

Hat schon jemand was mit Vue 3 gemacht? Ich würd es gerne ausprobieren, aber meine zwei größeren Projekte updaten macht sicher nur viel Arbeit und ein Neues anfangen will ich auch nicht! Zumindest habe ich gerade keine Idee, was man bauen könnte, was an einem Abend fertig ist.

77c99af3-050b-42dc-a0ac-c021ccbff4d6.jpeg

Um meine Zocker-Karriere zu rebooten (also um 30 Minuten pro Woche Anno zu spielen), musste natürlich eine Maus her, weil ich keine mehr besaß. Musste es gleich eine sein, die so verrückt aussieht?

screenshot-2021-02-11-at-21.39.25.jpg

Frisch auf Steam: Valheim. Grafisch siehts ein bisschen so aus, wie vor 20 Jahren, dazu kommt eine gewisse Geforce NOW-Unschärfe. Macht auf jeden Fall Spaß.

Seit vier Wochen schaffe ich es nun, jeden Tag einen Post zu generieren. Puh. Mein Zukunfts-ich freut sich sicherlich über viel zu lesen, vielleicht mache ich aber auch demnächst mal wieder eine Pause. Wer weiß!

Amazon Bestellhistorie mit dem Chrome Debugging Protocol scrapen

Stellt euch vor, ihr habt mal wieder monatelang eure Ausgaben nicht vernünftig kategorisiert. Kein Problem das meiste passiert ja automatisch, wären da nur nicht die 200 Transaktionen mit dem Betreff “Amazon.de”. Amazon schafft es natürlich, wie die meisten, nicht irgendeine sinnvolle Betreffzeile in die Kreditkartenabrechnung zu schieben, warum auch. Wahrscheinlich ist das gar nicht möglich bei Kreditkarten, hab ich nämlich noch nie gesehen. Naja, egal.

Ich weiß nun also, an welchem Tag Amazon welchen Betrag abgebucht hat, nun könnte ich einfach meine Bestell-Liste durchgehen und die Werte per Hand vergleichen. Das wäre natürlich einfach, aber auch langweilig und langwierig, denn natürlich habe ich im Jahr 2020 mal wieder viel zu viel bei Amazon bestellt. Zusätzlich teilt Amazon die Fresh-Bestellungen immer in tausende kleine Einzel-Transaktion und zeigt die natürlich nicht in der normalen Bestellübersicht an.

Immerhin gibt es unter “Ihre Transaktionen” eine Liste aller Abbuchungen. Man müsste also nur zwanzig Mal auf den "Nächste Seite” Button drücken und sich alles kopieren und schon weiß man, welche Transaktion zu welcher Bestellnummer gehört. Leider weiß man dadurch noch immer nicht, was man da eigentlich bestellte, also muss man auch noch jede Bestellung einzeln aufrufen und das nachschauen.

Tja, das schreit doch nach Automatisierung. Mein alter amazon-account-crawler basierte ja auf Ruby und mechanize, oder so, aber ich denke, dass Amazon mittlerweile sicherlich diverse Abwehrmechanismen gegen Automationen hat, daher probierte ich etwas neues: direkt einen Chrome fernsteuern.


Mit chrome-remote-interface funktioniert das ziemlich einfach. Der Beispielcode auf der npm-Seite zeigt schon relativ gut, wie mein Code dafür aussah, abgesehen von einem kurzen Javascript-Snippet um die notwendigen Daten zu extrahieren.

 const result = await Runtime.evaluate({
     expression: `let items = [];
let is_fresh = false;
let wrapper = document.querySelector('.a-box.shipment');
if (wrapper) {
    items = Array.from(wrapper.querySelectorAll(".a-row .a-col-right .a-row:first-child .a-link-normal")).map(i => {
        return {
            name: i.innerHTML.trim(),
            url: i.getAttribute('href'),
            price: i.parentNode.parentNode.querySelector('.a-color-price nobr').innerHTML
        }
    });
} else {
    is_fresh = true;
    wrapper = document.querySelector('#fx-order-details-box');
    items = Array.from(wrapper.querySelectorAll(".a-row .a-span7 .a-link-normal")).map(i => {
        return {
            name: i.innerHTML.trim(),
            url: i.getAttribute('href'),
            price: 0
        }
    });
}

JSON.stringify({
    items,
    is_fresh
});`
});

Wundervoll nicht? Also, das ist jetzt nur der zweite Teil, der dann die Bestellübersichten öffnet und die Produkte grabbt, damit ich am Ende weiß, was genau hinter den Transaktionen steckt.


Das ging auf jeden Fall schneller als gedacht. Lässt sich natürlich eher schwierig automatisieren, da Amazon ja an und zu ein Captcha ausspielt, aber letztendlich braucht man es ja nur einmal im Jahr. Oder vielleicht nie wieder, wenn man die Transaktionen einfach zeitnah zuordnet!