【Python3.9】Selenium4を使ってGoogleの検索結果を取得する

ワタル

こんにちは、ワタルです。

今回は、Pythonを使ったスクレイピングを行なっていきます。

SEO対策などのマーケティングツールとして非常に便利ですので、

WEBデザイナー、マーケターにもオススメな技術です。

Seleniumとは?

PythonのライブラリであるSeleniumは、簡単に言うと「検索結果を取得するライブラリ」です。

ChromeDriverを今回は使って進めていきます。

SeleniumとChromeDriverのインストールが未だの方はコチラ

参考:初心者でも簡単にできるSeleniumのインストール(ジコログさん)

こちらのバージョンで動かしていきます。

今回のコード

こちらが今回のコード全覧です。

『東京 観光地』で検索をかけ、上位表示10件のタイトルとURLをエクセルのデータとして保存させるようにコードを書いています。

結果はこうなります。

もう東京の観光地探しに困ることはなさそうです。

上位10位まで、全てまとめサイトになっているのがわかりますね。

コード解説

time は、Chrome操作中の動きに休む時間を設けるために使います。(人の動きを再現)

openpyxlは、Python上でExcelを操作するためのライブラリです。

 

今回は、『東京 観光地』で検索します。

 

Chromeの操作です。

ウインドウを広げて、GoogleのTOP(検索画面)を開きます。

休み時間は4秒に設定しました。

./chromedriverについては、ご自身のパスに応じて適宜変更してください。

僕の場合はChromeDriverを同じ階層に設置したので、上のようになっています。

 

googleの検索ワード入力部分「name=”q”」に検索ワードを.send_keysで送信します。

次に、「name=”btnk”」を持つ1つ目の箇所(検索ボタン)をクリックさせます。

 

現時点のGoogleの検索画面上では

class=’yuRUbf’にはURLの情報が、

h3にはタイトルの情報が格納されていますので、それらを10件取得するように指示します。

10の件数を変更すれば、50件でも100件でも取得が可能です。

指定した件数まで、ループさせる処理をしています。

 

openpyxlを使い、Excelを操作していきます。

A1には「タイトル」という文字をいれ、下にタイトルが格納させていきます。

B1には、同じように「URL」というタイトルをつけます。

 

Aの列には取得したタイトルを、Bには取得したURLを入れていきます。

そして、「google_東京_観光地.xlsx」という名前でファイルを保存します。

 

Chormeを閉じます。

これで以上です。

結果は最初にお見せした通り、エクセルのデータが出力されているのがわかります。

スクレイピングには注意を!

とても便利なスクレイピングですが、注意が必要です。

目的が「情報解析」の場合にはあまり問題はありませんが、それ以外での利用方法については規約を確認しましょう。

スクレイピング自体を禁止しているサイトも多数ありますので、使用される際は細心の注意を払って使いましょう!

それでは、また。

(いい声)

この記事を書いた人

ワタル

しらこデザインスタジオ管理人。埼玉県川越市出身。ワクワクすることが好きです。いつも元気です。よろしくお願いします。

この人の記事一覧
↑

お問い合わせはコチラ。
WEBに関するご相談
お待ちしております。