Das mit Hilfe von ChatGPT geschriebene Crawler-Programm kann die aktuellen Technologietrends anhand der Inhalte aktueller Internet-Technologie-Blogs analysieren.
Hauptfunktionen:
Definieren Sie die Zieltechnologie-Blog-Website des Crawler-Programms, bestimmen Sie die Seiten, die gecrawlt werden müssen, und die Informationen, die extrahiert werden müssen. Zu diesen Informationen können Artikeltitel, Autor, Veröffentlichungsdatum, Zusammenfassung, Inhalt usw. gehören.
Verwenden Sie das OkHttp3-Framework, um eine HTTP-Anfrage zu initiieren und den HTML-Code der Webseite abzurufen. Um eine Blockierung durch die Website zu vermeiden, müssen Sie entsprechende Parameter wie User-Agent und Verzögerungszeit einstellen. Bei einer großen Anzahl von Anfragen können Sie Strategien wie Proxy-IP verwenden, um eine Blockierung zu verhindern.
Verwenden Sie das Jsoup-Framework, um HTML-Code zu analysieren und die erforderlichen Informationen zu extrahieren. Sie können Selektoren verwenden, um die erforderlichen Elemente zu finden, und APIs verwenden, um die Attribute und Textinhalte der Elemente abzurufen. Es ist zu beachten, dass einige Websites möglicherweise Anti-Crawler-Technologien verwenden, z. B. das Festlegen von Bestätigungscodes, das dynamische Generieren von Seiten usw., die je nach bestimmten Umständen gehandhabt werden müssen.
Verwenden Sie das Mybatis Plus-Framework, um Daten in der Datenbank zu speichern. Sie müssen zunächst die Struktur und die Entitätsklassen der Datentabelle definieren und dann die vom Framework bereitgestellte API verwenden, um Daten hinzuzufügen, zu löschen, zu ändern und abzufragen. Um doppelte Speicherung zu vermeiden, können Sie Mechanismen wie Primärschlüssel oder eindeutige Indizes zur Deduplizierung von Daten verwenden.
Verwenden Sie geplante Aufgaben, um Crawler-Programme regelmäßig auszuführen und so eine zeitnahe Aktualisierung der Daten sicherzustellen. Es müssen die entsprechende Ausführungshäufigkeit und -zeit eingestellt werden, um einen übermäßig häufigen Zugriff auf die Zielwebsite zu vermeiden, der zu Anomalien auf der Website führen kann.
Der aufregende Moment ist da : Lassen Sie ChatGPT Quellcode generieren. Zu den Informationen, die wir an AI weitergeben, gehören: Projektname ai-crawler, Java-Version 1.8, Abhängigkeiten: mybatis-plus-boot-starter, okhttp, hutool-all, jsoup. Welche Art von Code wird AI generieren ?
Nun, es ist ziemlich zufriedenstellend. Ich weiß, wie man zwei Toolklassen basierend auf okhttp und jsoup erstellt.
Geben Sie als Nächstes einen weiteren Hinweis und teilen Sie der KI das spezifische Datenmodell mit, das derzeit vorläufig als Blog bezeichnet wird, und lassen Sie die KI spezifische Hinzufügungs-, Lösch-, Änderungs- und Abfragecodes generieren.
Werfen wir einen Blick auf seine Leistung:
Nicht schlecht, die generierte Blog-Entitätsklasse verwendet die Annotation @TableName von MybatisPlus; BlogService erbt von IService von MybatisPlus. Auch die @Service-Annotation von Spring wird bewusst verwendet.
Ist dieser Code nicht schlechter als der eines Junior-Java-Ingenieurs ?
Werfen wir zusätzlich zum obigen grundlegenden Logikcode einen Blick auf die Konfigurationsklassen und Konfigurationsdateien.
Wird KI Programmierer ersetzen? Vielleicht in der Zukunft, aber wahrscheinlich nicht jetzt. Ich denke, KI ist eher ein praktisches Werkzeug.