【CSVへ保存】Googleの検索結果をスクレイピング02

検索結果をCSVへ!

前回スクレイピングした内容をテキストへ保存しました!

【テキストへ保存】Googleの検索結果をスクレイピング01

2022年3月8日

CSVへの保存も簡単に行えます。
前回のソースコードを少し綺麗に?しながらCSVファイルへ落とし込みたいと思います。

【イメージ】
↓ の検索結果を

↓ のようなCSV形式へ出力!

とはいっても、
ソースコードの9割は前回と同じです!
テキスト形式をCSVファイルへ書き込むように変更しました。
後はそれぞれ関数に纏めて小奇麗にした感じですね。
実行して頂くと.pyファイルと同じディレクトリ上に「Googleサーチ.csv」というファイルが作成されると思います。

ソースコードは以下になります。

「Googleサーチ.csv」というファイル名をベタ書きしているので
実際には「datetime」などを使用してファイル名に日付も加えると
より良いかと思いますー。

では追加した箇所の解説です。

処理開始
ここは好みの問題もあるかと思いますが、最初に走る処理を決めています。
それぞれを関数に纏めただけですが、こっちの方が後々見返す時に分かり易いですね。

get_driver()」
→ Webサイトの表示をして、
戻り値をdriverへ格納しています。

「get_data_from_source(driver)」
→ Web上に表示されているサイトを解析し、
appendしたリストを「data_detail 」へ返しています。

「data_detail 」
→ スクレイピングの結果が入っていますので
そのデータを「save_csv(data_detail)」で渡して、
そこでCSV処理を行っています。

続いてCSV処理のお話です。

CSV処理
ここでは渡されたリスト形式のデータを
CSVファイルへ書き込みを行っています。

csv_path = os.getcwd()
→ 現在pyファイルを実行している階層をcsv_path へ渡しています。

csv_file_name = “Googleサーチ.csv”
→ そのままの意味ですね!
直接文字入力しても良いのですが、変数へ格納しています。

csv_path = os.path.join(csv_path,csv_file_name)
→ 現在の階層へ、Googleサーチ.csvというファイル名で書き込む準備。

writer = csv.writer(file, lineterminator=’\n’)
→ lineterminatorで改行コードを指定しています。

csv_header = [“掲載No”,”タイトル”,”URL”]
writer.writerow(csv_header)
→ CSVファイルの1行目のヘッダーを決めています。
writerowなのは、出力が1行しかないためです。

writer.writerows(data_detail)
→ 格納されているリストのインデックスで改行して書き込みを行っています。
改行するためのコードは「lineterminator」で「\n」を指定しているので、
無事に改行が行えます!

以上となります。
今回も最後までお読み頂き、ありがとうございました!