PythonでスクレイピングしたデータをCSVに保存する方法

python3

【3STEPで解決】
Webスクレイピングの基本その②
STEP① : スクレイピングで、データを抽出する(※いつもどおり)
STEP② : ヘッダー部分を作成する
STEP③ : 抽出したデータを、CSVに書き込む
補足 : 作成したCSVファイルの中身を、Pythonで確認する(おまけ)

今回はタレント辞書に載っている「20代の女優一覧」を例に紹介していきます。
タレント辞書URL:https://talent-dictionary.com/
具体的に、サイト内で以下のデータをスクレイピングして、最終的にCSV出力していきます。

・名前
・職業(モデル、女優、タレント)
・年齢
・詳細ページのURL

それでは順番に見ていきましょう。
STEP① : スクレイピングで、データを抽出する(※いつもどおり)

#1.今回必要になる「名前、職業、年齢、詳細ページURL」は、以下のコードでスクレイピングできます。
Pythonでスクレイピング
以下のコードをコピーするだけ

スクレイピング

※スクレイピングは、PythonやBeautifulSoupとScrapyに慣れるだけでOK
※もしスクレイピングの不安のある方は、直接、管理人にきいてください!最近の管理人のいる場所(チャンネル)

STEP② : ヘッダー部分を作成する
次にCSVを作成するためのヘッダー部分を作成します。
なぜヘッダーを作成するのかというと、取得したデータをそのままCSVに書き込むと、各列にどんなデータが格納されているのか分からないからです。

人名や職業なら見れば分かるかもしれません。
でも年齢とかURLについては、やはり説明がないと意味が通じません。
そのため、スクレイピングで取得したデータをCSVに書き込むときヘッダーを作成してあげます。

#2.ヘッダー追加のコードをコピー

これでヘッダーを作成できました。

STEP③ : 抽出したデータを、CSVに書き込む
最後にスクレイピングしたデータをCSVに書き込んでいきましょう。
先ほど準備したヘッダー情報を先に定義しておいて、そのあとでスクレイピングしたデータをCSVに書き込みます。

#3.以下をコピー

上記でやっていることをまとめたのが以下です。

・With(ステートメント)を使って、CSVファイルを開く
・ファイル書き込みするためにwriter = csv.writer(f)でインスタンスを作成する
・forループ前でヘッダーだけ書き込んで、forループで中身を書き込んでいく
・Withステートメントで開くCSVファイルは、そのファイルが存在しなければ新しく作成されます。

つまり、今回でいえばactors.csvが新しく作成されるということです。
もしactors.csvが既に存在するなら、元々CSVに書かれていたデータが消えてしまいますので注意しましょう。

補足 : 作成したCSVファイルの中身を、Pythonで確認する(おまけ)
作成したCSVの中身を、Pythonを使って確認しておきましょう。
CSVの読み込みはPandasを使ってデータフレームに変換してしまうのが手っ取り早いです。

スクレイピング

#4.以下のコードをコピー

上記のコードを実行すると出力結果が出てくるはずです。
きっとしっかりとCSVファイルを作成できていますね!以上です。

おさらい
ここからも全コピペのみで設定できます



CSV書き出し



エクセルへ



Tag: ガイド スクレイピング

コメント


認証コード8537

コメントは管理者の承認後に表示されます。