Einen Bot Programmieren.

#1
Guten Tag,
vor einigen Tagen habe ich mich gefragt wie Bots funktionieren die Automatisiert bestimmte Vorgänge auf einer Website ausführen. Seitdem kribbelt es mir in den Fingern so etwas selbst zu schreiben. Zum einen aus Spaß an der Sache, zum anderen weil es mich einfach brennend interessiert wie das Umgesetzt wird. Allerdings habe ich, wie gesagt, keine Vorstellung davon wo ich Anfangen soll.

Kurz zu mir und was ich bereits kann: Ich habe noch nicht so viel Erfahrung in der Entwicklung allerdings bin ich lernbereit und Hungrig! Ich habe bereits in C und in Java programmiert und kenne und verstehe grundlegende Konzepte vom OO Design und prozeduraler Programmierung und GUI entwicklung. Ich kenne auch die Bausteine von HTML und CSS. Außerdem kenne und verstehe ich die gängigsten Sortieralgorithmen und Datenstrukturen.

Was mein Ziel ist: Ein "Bot" der Automatisch eine Website aufruft und das Verhalten einer realen Person simuliert. Dort soll er die Website nach bestimmten Inhalten absuchen(Texte, Bilder etc). Er soll automatisch Formulare ausfüllen können(Z.b. automatisch einen neuen Account anlegen). Er soll bestimmte Aktionen ausführen können(z.B. "Zu warenkorb hinzufügen" "Kommentar schreiben"). Außerdem soll Vorgänge Überwachen/protokollieren können(z.B. "Der preis Betrug um 10:12 x$, und um 11:23 y$).

Zu meiner Frage: Kann ich das ganze in Java Realisieren? Gibt es da eine Bibliothek die mir Schnittstellen bietet damit ich auf Webinhalte zugreifen kann?
Ich habe auch im Internet schon versucht einen Ansatz zu finden. So wie ich das verstanden habe wäre eine eine Sprache wie Python, JavaScript oder Ruby am besten geeignet um so etwas zu realisieren. Aber wieso? Was könntet ihr mir empfehlen damit ich das Programm tatsächlich umsetzen kann, evtl hat jemand bereits Erfahrung mit sowas und kann mir einen Ansatz geben. Sollte ich doch Python/JavaScript/Ruby dafür lernen. Evtl Stichwörter zu Programmiertechniken etc. zu denen ich mich einlesen sollte.

Vielen Danke für eure Zeit!
Grüße, E
 
Zuletzt bearbeitet:
#2
Ich denke mit Python 3.7 bist du am besten Beraten. Damit kannst du auch eine AI Entwickeln. Aber um eine Art "Human-Being" zu programmieren bedarf es schon mehr als nur das Grundlagen wissen, das ich habe. Aber möglich ist alles, siehe die AI im DeepWeb die den Kinder*****-Ring gesprengt hat, das war auch eine AI mit sehr sehr sehr viel Aufwand.
 
#3
Ein "Bot" der Automatisch eine Website aufruft und das Verhalten einer realen Person simuliert. Dort soll er die Website nach bestimmten Inhalten absuchen(Texte, Bilder etc). Er soll automatisch Formulare ausfüllen können(Z.b. automatisch einen neuen Account anlegen). Er soll bestimmte Aktionen ausführen können(z.B. "Zu warenkorb hinzufügen" "Kommentar schreiben").
Am einfachsten ist es sicherlich den Browser mit einer selbstgeschriebenen Anwendung zu steuern. Früher ging das zB. mit dem Firefox-Addon MozlRepl. Das scheint es nicht mehr zu geben, aber für Java scheint jetzt Selenium üblich zu sein.
Ansonsten kannst du auch eine Library für direkte HTTP-Kommunikation verwenden oder dir sowas sogar selbst schreiben (hoher Lerneffekt, aber viel Aufwand).

Wenn es nur um den Lerneffekt und den Spaß an der Sache geht, dann würde ich mich nicht so auf die Programmiersprachenwahl versteifen. Mit Java kommst du in diesem Fall aber sicher schneller ans Ziel als mit C.
 
Oben