BitBastelei #497 - Webseiten-Überwachung mit Python
(596 MB) 00:42:15
2022-07-24 10:00
🛈
Manche Aufgaben sind nervig – aktuell zum Beispiel regelmäßig bei Lieferanten schauen, ob die gewünschten Produkte wieder lieferbar sind. Mit etwas Programmierung kann man solche sich ständig wiederholenden Aufgaben an den Rechenknecht abtreten und sich auf interessantere Dinge konzentrieren.
Inhalt
- 00:00 Warum das Ganze?
- 00:58 Ausgangslage
- 04:10 Textsuchen und Regex
- 05:20 HTML und DOM
- 09:26 Sprache und Todo-Liste
- 11:25 1: Webseite mit urllib laden
- 17:24 2: DOM verarbeiten mit Beautiful Soup
- 26:54 3: Daten aus Webseite verarbeiten
- 33:32 if in / Text vs. Integer
- 37:27 Desktopbenachrichtigungen
- 40:38 Fazit
Links zum Thema
Transparenz
Es wurden absichtlich keine Geräte oder Produkte gezeigt. Besprochene Sprachen und Tools sollten alle Freie Software sein. Die Bezeichnung „ACME“ dient als Platzhalter und hat nichts mit gleichnamigen, realen Firmen zu tun.
BitBastelei #314: Fotobox Revamped: Installationsscript, eigene Designs & Co
(454 MB) 00:22:47
2018-12-23 11:00
🛈
Vor etwas über einem Jahr hatte ich meine DIY-Fotobox auf Basis eines Raspberry Pi gezeigt. Mit etwas Python konnte man auf Knopfdruck Selfies schießen und anschauen. Leider kam kurz darauf eine neue Version des auf dem Raspi genutzten Betriebssystems heraus, welches viele Dinge kaputt machte. Nun habe ich mich mal rangesetzt und die Codes auf einen aktuellen Stand gebracht: Automatische Installation, deutlich einfachere Möglichkeiten eigene Designs zu nutzen und für die Hardware-Ecke gibt es einen zusätzlichen Buzzer.
Inhalt
- 03:04 Installation von Raspian Stretch
- 04:57 WiFi und SSH vorab konfigurieren
- 07:19 Erster Boot und SSH-Verbindung
- 09:01 Installation der Fotobox
- 10:46 Fotobox-Design anpassen & Bilder herunterladen
- 14:08 Grobhandtaster als Auslöser
Code und Hinweise
https://github.com/adlerweb/fotobox
Teile der Hardware wurden mir seinerzeit von Reichelt Elektronik zur Verfügung gestellt.
Für eine Parametererfassung benötige ich ggf. mehrere Felder für einen Wert. Generell kann man natürlich genügend Felder vorab erstellen, jedoch ist in meinem Fall nicht klar wie viele benötigt werden. Die Idee: Es ist nur ein Feld verfügbar, wird dies jedoch genutzt erstellt sich automatisch ein Weiteres hinter dem ersten Feld. Die meisten Beispiele nutzen JQuery, da meine Lust Externes einzupflegen nicht grade überwältigend groß ist musste VanillaJS herhalten.
<input type="text" name="Element1[]" onClick="clone.call(this)">
function clone() {
var newNode = document.createElement(this.tagName);
switch(this.tagName) {
case "INPUT":
newNode.type = this.type;
newNode.name = this.name;
newNode.value = "";
newNode.onclick = function() { clone.call(this) };
break;
}
this.onclick = undefined;
this.parentNode.insertBefore(newNode, this.nextSibling);
}
Sinnvoller als onclick wäre natürlich onchange, aber hey, Konzept funktioniert…