![見出し画像](https://assets.st-note.com/production/uploads/images/148179382/rectangle_large_type_2_755e22df17c0f939f9ade25fb6bd01c2.png?width=1200)
Webスクレイピング勉強②~WEB情報取得&CSV出力~
前回と同様に以下動画で勉強。
1.ページ内の情報を取得する
①一つずつ取得
ページ内の「今西航平」という情報はid = 'name'で定義されている
![](https://assets.st-note.com/img/1721308364863-eS0GLpYi2c.png?width=1200)
IDがnameの情報を取り出し、その中のテキストデータを出力する。
element = browser.find_element(By.ID, 'name')
element.text
取得できた
![](https://assets.st-note.com/img/1721308428263-1usqhgUEuc.png)
他の要素も同じ要領で取得可能
![](https://assets.st-note.com/img/1721308755780-HuzjHPvQtT.png)
趣味は\nで区切られているが、repralce関数で別記号に置き換え可能
![](https://assets.st-note.com/img/1721308879779-nrsS1UlsTe.png)
②リストとして取得
表の構造としては、こんな感じ
![](https://assets.st-note.com/img/1721309459692-o0EEiVN0r6.png?width=1200)
見出し部分は「th」で定義されているため、タグがthの物を取得する
elem_th = browser.find_elements(By.TAG_NAME,'th')
そうするとthの文字がリストとして格納される。
![](https://assets.st-note.com/img/1721309549122-2RBtFZny6H.png)
※HTMLおさらい
![](https://assets.st-note.com/img/1721309225517-ZCVJRI4KHz.png?width=1200)
elem_th = browser.find_elements(By.TAG_NAME,'th') #thタグの要素を取得
keys = [] #格納用のリストを初期化
for elem_th in elem_th: #取得したthタグの要素分ループ
key = elem_th.text #テキストを抽出
keys.append(key) #要素をリストへ格納する
出力してみるとリストに格納されたことがわかる
![](https://assets.st-note.com/img/1721310602460-5tJ59aUQhs.png)
同様にtdの要素も抽出する
![](https://assets.st-note.com/img/1721310714630-MzeTXxsZK9.png?width=1200)
2.CSV出力する
①pandasのデータフレームへ項目と値を格納
import pandas as pd
df = pd.DataFrame()
df['項目'] = keys
df['値'] = values
dataframeについてはこちらに詳しく記載されていました。
②CSV出力
下記コマンドでCSV出力。indexが不要であればFalseを指定
df.to_csv('講師情報.csv', index=False)
ファイルが出来ているので中身を確認する。
![](https://assets.st-note.com/img/1721311624066-dhn2bfRrnn.png)
![](https://assets.st-note.com/img/1721311634233-sM0Vw6ahB9.png)
Python、簡単に色んな事ができてすごいけど、簡単すぎるが故になかなか記憶に定着していない感があるな。
この記事が気に入ったらサポートをしてみませんか?