Wie kann ich eine Software erstellen mit integrierter AI?

1 Antwort

Ich möchte eine Software entwickeln, die automatisch neue Produktveröffentlichungen auf verschiedenen Websites erkennt (...)

Sprich, du brauchst eine Art Scraper, der in einem bestimmten Zeitintervall Daten sammelt. Vorzugsweise solltest du dich zuerst darüber informieren, welche Möglichkeiten dir von den Quellseiten angeboten werden, um deren Produktdaten anzufordern. Wenn es da bereits explizite Schnittstellen gibt (Bsp.: Die Product Advertising API von Amazon), sollten vorzugsweise auch die genutzt werden.

Es gibt übrigens ebenso schon externe Dienstleister (Bsp. PromptCloud), die Daten mehrerer Quellen (z.B. AliExpress, Amazon, Etsy, usw.) selbst sammeln und dann über eine einzige Schnittstelle bereitstellen. Das wäre eine nochmals einfachere Lösung, denn zum einen sparst du dir so Implementationsaufwand (initial und weiterhin, falls es technische Änderungen bei den Quellwebseiten gibt) und zum anderen bist du rechtlich auf der sicheren Seite.

Bezüglich Letztgenanntem solltest du dich definitiv rechtlich absichern. Daten sammeln mag noch okay sein, doch das Wie kann von Relevanz sein und ebenso, inwiefern du die Daten anschließend nutzt.

Wenn du Daten beispielsweise aggressiv selbst ziehst und damit die Quellseite unter Last setzt, kann das als Angriff betrachtet werden, der im Regelfall mindestens dazu führt, dass du vom Quellseitenbetreiber blockiert wirst.

Zusätzlich soll eine integrierte KI diese Informationen eigenständig auf Verkaufsplattformen oder Webseiten listen.

Wofür du da eine KI benötigst, ist für mich erst einmal nicht ersichtlich.

Auch hier wäre erst einmal zu klären, welche Schnittstellen es für die jeweiligen Plattformen gibt. Entweder kannst du Produktdaten an Plattform XY schicken oder aber Plattform XY kann deine zur Verfügung gestellten Produktdaten anfordern.

Wie kann ich am besten mit der Entwicklung eines solchen Systems beginnen, (...)

Immer mit Systemanalyse und Planung. Beginne mit einer Kurzbeschreibung des Programms und leite daraus ab, welche Anwendungsfälle du brauchst. In deinem Fall könnte ein Anwendungsfall die Datenabfrage eines Shops XY sein, wobei dafür noch geklärt werden müsste, welche Daten (Produktname, Preis, u.ä.) du benötigst.

Auf dieser Grundlage kannst du besser planen und recherchieren, welche Ressourcen du benötigst. Wie schon oben geschrieben könnte es zum Beispiel hilfreich sein, einen externen Dienst zu nutzen, der für dich die Daten bestimmter Shops schon zusammenstellt. Diese Daten sollten sicherlich erst einmal persistent gespeichert werden, damit später verschiedene Services (für Verkaufsplattform A oder B) darauf zugreifen können. Daher wäre eine Datenbank (MariaDB/MySQL/PostgreSQL) nützlich.

Ein anderes Beispiel mit Relevanz wäre die vorgesehene Last, die auf deiner Anwendung später selbst liegen wird. Sollte es Dienste geben, die regelmäßige Anfragen an deine Anwendung schicken, sollte die daraufhin skalieren können.

(...) und welche Technologien oder Programmiersprachen eignen sich dafür am besten?

In der Tendenz sollte es wohl eine Webanwendung werden, die evt. für andere Plattformen eine (REST-)API bereitstellt, um deine gesammelten Produktdaten zu übergeben.

Dementsprechend wäre eine Programmiersprache zu empfehlen, die für die Webentwicklung ausgerichtet ist. Zuzüglich würde ich ein Webframework hinzuziehen, welches eine Projektstruktur und bei Bedarf nützliche Features zum Bau einer API oder der Kommunikation mit einer Datenbank vorgeben kann. Das Sammeln der Daten würde ich über einen Cronjob laufen lassen.

Ein paar Vorschläge dahingehend wären:

  • C# mit ASP.NET
  • Java mit Spring / Play / Jersey
  • JavaScript mit Express
  • PHP mit Laravel
  • Python mit flask
  • Ruby mit Grape / Rails

Mit Fokus auf die Lernkurve sind PHP und Python wohl am einfachsten erlernbar.

Je nachdem, für welche Technologie du dich entscheidest, würde ich dir dazu raten, dich erst einmal nur mit dem Erlernen der Programmiersprache zu befassen, bevor du ein Framework dazunimmst oder dein Projekt startest.

Beschäftige dich zuzüglich mit Stichworten wie REST-API, Cronjob und bestenfalls auch Datenbanken (SQL Queries, Wie man ein eine Datenbank designt, u.ä.).

Für das Entwickeln eigener Scraper wäre es zudem von Vorteil, HTML-Kenntnisse zu haben und mit den Webentwicklungstools des Browsers umgehen zu können. Du musst in dem Fall ja erst einmal herausfinden, welche Elemente die wichtigen Daten beinhalten und wie du an sie herankommst. Wenn du sie explizit aus dem Webseitendokument auslesen musst, können Bibliotheken (wie BeautifulSoup, Jsoup, HAP, Nokogiri, ...) oder das Selenium-Framework hilfreich sein.


THX11 
Beitragsersteller
 23.03.2025, 21:53

Vielen Dank😊