生成AIで架空のポケモンを作るためのデータベースを作っています。前回、やっとデータベースにデータを格納することができた。今回はコードを読解していこう。やり方はこんな感じ。
入力:
今からコードを読解して、解説を付していくので、間違いを指摘してください。
import requests
from bs4 import BeautifulSoup
import sqlite3
import time
この4行は今回のコードに必要なライブラリをインポートしています。
requestsはhtmlと交信するためのライブラリ、BeautifulSoupは交信したHTMLのうち必要な部分を抽出するためのライブラリ、sqlite3はデータベースを作成するためのライブラリ、timeはサーバー負荷を軽減するためのスリープ時間を設定するためのライブラリです。
出力:
解説は概ね正しいですが、詳細にすると以下のようになります:
**requests
**はHTTPリクエストを送信し、ウェブページのHTMLを取得するためのライブラリです。**BeautifulSoup
**は取得したHTMLを解析し、特定の要素を抽出するためのライブラリです。**sqlite3
**はSQLiteデータベースを作成・操作するためのライブラリです。**time
**はサーバー負荷を軽減するためにスリープ(待機)時間を設定するためのライブラリです。
こんな感じで、自分で読解した結果を記述する→○×を付けてもらう、の流れ。生成AIに正確性を求めるのはダメという風潮だが、生成AIが生成したコードの解説なら外れたことは言わないはず。
入力:
データベースの設定
conn = sqlite3.connect(‘pokemon_data.db’)
この行では、sqlite3.connectメソッドで、’pokemon_data.db’を新たに作成しています。作成先のパスは指定されていないので、.pyファイルと同じパスになります。
c = conn.cursor()
cursorメソッドはわかりません。概要を教えてください。
出力:
指摘
sqlite3.connect
メソッドでデータベースに接続し、データベースファイルが存在しない場合は新たに作成します。作成先のパスは指定されていないので、スクリプトが実行されているディレクトリになります。
cursorメソッドの概要
conn.cursor()
メソッドは、データベースに対してSQLクエリを実行するためのカーソルオブジェクトを作成します。カーソルは、データベース操作(挿入、更新、削除、検索など)を実行するためのインターフェースを提供します。
こんな感じで、わからなければ素直にわからないで投げる。ChatGPTが勝手にコード貼り付けたと解釈して変なことしてるけど、無視して読解内容の赤ペン部分だけ見ていってる。ちょくちょく知らないメソッドが出てくるが、この手のメソッドは中身まで理解しなくても使えるものだろうから、深入りはしないでおこう。
次回に続く