生成AIで架空のポケモンを作るためのデータベースを作るためのコードを理解するためにHTMLを学ぶことにしました。教材としてProgateを推奨されたのでやっていってるところ。
ProgateのHTML&CSS編をひととおり終わった。習熟度がどうかという問題はあるが、当初の目的だった、webスクレイピング用にChatGPTが投げたコードを見てみよう。学習前ではわからなかった構文を読めるようになっていると良いのだが…
import requests
from bs4 import BeautifulSoup
import sqlite3
# ウェブページからデータを抽出
url = "https://www.example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 特定の要素を抽出
text_data = soup.find_all('p') # <p>タグのテキストを全て抽出
# SQLiteデータベースに接続
conn = sqlite3.connect('example.db')
c = conn.cursor()
# データベーステーブルを作成
c.execute('''CREATE TABLE IF NOT EXISTS texts (content TEXT)''')
# データをデータベースに保存
for text in text_data:
c.execute("INSERT INTO texts (content) VALUES (?)", (text.text,))
# 変更をコミットし、接続を閉じる
conn.commit()
conn.close()
…Progateで学んだ知識全く出てきてなくないか?と思ってログをたどると「ウェブページの構造を理解し、BeautifulSoup
を使用して特定の要素を正確に抽出するためには、HTMLタグと属性についての基礎知識が必要です。」らしい。仮に置かれているBeautifulSoup
の変数を適切に指定するために必要ということなら、上記のコードを理解した後、実際に使うコードを書く段階で使うということなのかな?無駄手を打った気もするが、後々役に立つと信じよう。
次回に続く