Von allen guten und bösen Geistern verlassen

Für mich ist Programmieren ein Stück weit wie kochen. Der Schnellkochtopf beim schreiben einer neuen Anwendung ist dabei ChatGPT.

Meine Anfänge

Ein paar Wochen bevor ich meinen asten Computer, einen ZX81 bekam, schrieb ich mein ersten „Computerprogramme“ mit Stift und Papier. Aus der Stadtbücherei in Wesel hatte ich mir ein Buch dazu ausgeliehen, dass ich nach wie vor sehr positiv in Erinnerung habe. Titel, Autor und Verlag sind mir aber leider entfallen. Zu Weihnachten im selben Jahr (ich tippe grob auf 1982 / 1983) bekam ich erst einen neuen Kassettenrekorder, dann ein paar Tage später als vorgezogenes Geburtstagsgeschenk der ersehnte ZX81.

Ich lernte und spielte damit — was noch besser mit dem C64 ging, den ich mir von meinem Konfirmationsgeld kaufte. Immer wieder stieße ich beim Programmieren an meine Grenzen. Wollen, aber aus unerklärlichen Gründen nicht weiter kommen. Im Laufe der Jahre beschäftigte ich mit einer ganzen Reihe von Programmiersprachen (kennt noch jemand Fortran?), hatte Informatikunterricht in der Schule und sogar Informatik im Abitur.

Ein Berufsberater in Wesel legte mir damals nahe, nicht Programmierer zu werden, da die bald niemand brauchen würde. Nun ja. Unqualifizierte Berufsberater braucht tatsächlich niemand.

Über eine Reihe von Umwegen fand ich schließlich meine berufliche Bestimmung in der Entwicklung von Websites mit einer ordentlichen Prise Programmierung.

ChatGPT erleichtert Programmieren

Lassen wir aber die Vorgeschichte hinter uns und kommen zum Kern. Nachdem ich vor ein paar Wochen Python für mich wiederentdeckt habe, um Abläufe auf meinem Mac zu automatisieren, ging ich noch ein paar Schritte weiter. Mich nervt es ziemlich, dass es bei einigen Seite keinen RSS-Feed gibt.

So hätte ich zum Beispiel von einem Online-Versender für Brettspiele eine Liste mit Neuheiten. Grundsätzlich weiß ich, dass es Python dafür die Module BeautifulSoup und request gibt. Ich weiß also, dass so eine Abfrage grundsätzlich möglich ist. Noch vor nicht allzu langer Zeit gab es zwei Möglichkeiten. Entweder war mein ein verdammt guter Programmierer, der so was aus dem Handgelenk schütteln konnte oder man behalt sich mit Google und suchte sich die Bestandteile zusammen. So was konnte dann schon mal seine Zeit dauern.

Viel cooler ist, wenn man ChatGPT als Werkzeug nutzt und einen Prompt dazu formuliert:

Ich brauche ein Python-Skript, mit dem ich vom nachfolgenden URL Titel, Bild und Preis als Text auslesen kann: https://www.fantasywelt.de/Neuheiten

Die Antwort kommt recht flott:

import requests
from bs4 import BeautifulSoup

# URL der Seite mit den Neuheiten
url = "https://www.fantasywelt.de/Neuheiten"

# Die Seite herunterladen
response = requests.get(url)

# Sicherstellen, dass die Anfrage erfolgreich war
if response.status_code == 200:
    # HTML-Code analysieren
    soup = BeautifulSoup(response.content, 'html.parser')

    # Alle Produkte auf der Seite finden
    products = soup.find_all('div', class_='product-wrapper')

    # Für jedes Produkt die relevanten Informationen auslesen und ausdrucken
    for product in products:
        # Titel auslesen
        title = product.find('h4', class_='title').text.strip()

        # Bild-URL auslesen
        image_url = product.find('img')['src']

        # Preis auslesen
        price = product.find('strong', class_='price').text.strip()

        print("Titel:", title)
        print("Bild-URL:", image_url)
        print("Preis:", price)
        print("-" * 50)
else:
    print("Fehler beim Abrufen der Webseite. Statuscode:", response.status_code)

Das Ergebnis ist schon mal ganz gut.

Make it Markdown!

Mit ein bis zwei weiteren Abfragen lässt man sich dann daraus ein Skript schreiben, welches die ausgelesenen Daten in Markdown umwandelt und als Datei in meinen Obsidian Vault schreibt. Fertig ist dann der eigene Nachrichtendienst. Auf diese Weise lese ich bereits Nachrichten aus Emden, aktuelle Mitteilungen der Stadt Emden und die VHS-Kurse aus.

Man programmiert auf diese Weise nicht wirklich, sondern setzte fertige Teile zusammen — was meiner Meinung nach völlig ok ist. Allerdings sollte man schon programmieren können und wissen, was man fragt und wie das Ganze funktioniert. Zumal ich eine größere Aufgabenstellung in kleine Einzelteile zerlege, um auch wirklich zu brauchbaren Ergebnissen zu kommen.

Was Python angeht, ist ChatGPT auch in der kostenlosen Version ein genialer Werkzeugkaste, um auf die schnelle einen Lösungsweg für eine Problemstellung erarbeiten zu lassen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

DSGVO Cookie Consent mit Real Cookie Banner