ChatGPT の支援を受けて作成されたクローラ プログラムは、現在のインターネット技術ブログの内容に基づいて現在の技術動向を分析できます。
主な機能:
クローラー プログラムのターゲット テクノロジー ブログ Web サイトを定義し、クロールする必要があるページと抽出する必要がある情報を決定します。この情報には、記事のタイトル、著者、発行日、要約、内容などが含まれます。
OkHttp3 フレームワークを使用して HTTP リクエストを開始し、Web ページの HTML コードを取得します。 Web サイトによってブロックされないようにするには、ユーザー エージェントや遅延時間などの適切なパラメーターを設定する必要があります。リクエストが多数の場合は、ブロックされないようにプロキシ IP などの戦略の使用を検討できます。
Jsoup フレームワークを使用して HTML コードを解析し、必要な情報を抽出します。セレクターを使用して必要な要素を見つけ、API を使用して要素の属性とテキスト コンテンツを取得できます。一部の Web サイトでは、検証コードの設定、ページの動的生成など、特定の状況に応じて処理する必要があるクローラー対策テクノロジーを使用している場合があることに注意してください。
Mybatis Plus フレームワークを使用して、データをデータベースに保存します。まずデータ テーブルの構造とエンティティ クラスを定義し、次にフレームワークによって提供される API を使用してデータの追加、削除、変更、クエリを行う必要があります。ストレージの重複を避けるために、主キーや一意のインデックスなどのメカニズムを使用してデータを重複排除することを検討できます。
スケジュールされたタスクを使用してクローラー プログラムを定期的に実行し、データがタイムリーに更新されるようにします。対象の Web サイトへのアクセスが多すぎると Web サイトに異常が発生する可能性があるため、適切な実行頻度と実行時間を設定する必要があります。
ここでエキサイティングな瞬間が始まります。ChatGPT にソース コードを生成させます。 AI に与える情報には、プロジェクト名 ai-crawler、Java バージョン 1.8、依存関係: mybatis-plus-boot-starter、okhttp、hutool-all、jsoup が含まれます。AIはどのようなコードを生成しますか?
まあ、okhttp と jsoup に基づいて 2 つのツール クラスを作成する方法はわかりました。
次に、別のヒントを与えて、現在ブログと呼ばれている特定のデータ モデルを AI に伝え、特定の追加、削除、変更、クエリ コードを AI に生成させます。
彼のパフォーマンスを見てみましょう:
悪いことではありません。生成された Blog エンティティ クラスは、MybatisPlus の IService から継承した MybatisPlus の注釈 @TableName を使用します。 Spring の @Service アノテーションも意識的に使用されています。
このコードはジュニア Java エンジニアよりも悪くないでしょうか?
上記の基本的なロジック コードに加えて、構成クラスと構成ファイルを見てみましょう。
AIはプログラマーに取って代わるのでしょうか?将来的にはそうなるかもしれませんが、おそらく今はそうではありません。 AIは便利なツールのようなものだと思います。