【コピペOK】PythonのSeleniumでGoogle検索する方法

★悩み★
・PythonからChromeを起動してGoogle検索ってできるんだろうか。
・Google検索結果からページタイトルとURLを抽出できないかな。
・Seleniumを利用したGoogle検索の方法が分からないな。



こういった「悩み」に答えます。
 

★本記事の内容★
PythonのSeleniumでGoogle検索する方法をご紹介



これからご紹介する「PythonのSeleniumでGoogle検索する方法」を実践したことで、筆者は30分以内でPythonのSeleniumでGoogle検索できました。
 

記事の前半では「PythonのSeleniumをインストールする方法」を解説しつつ、記事の後半では「Seleniumを用いてPythonでGoogle検索する方法」をご紹介します。
 

この記事を読み終えることで、「Seleniumを用いてPythonでGoogle検索する方法」を把握した状態になります。
 

ちなみに、BeautifulSoupを用いてPythonでGoogle検索する方法を知りたい方は、以下をご覧ください。
 


 

PythonのSeleniumでGoogle検索する方法

「PythonのSeleniumでGoogle検索する方法」に関してご紹介します。

★ご紹介の流れ★
ステップ1:Pythonのインストール
ステップ2:PythonのSeleniumをインストール
ステップ3:Chromeをインストール
ステップ4:PythonのSeleniumでGoogle検索するプログラムの実装
ステップ5:PythonのSeleniumでGoogle検索するプログラムの動作確認



上記の流れで「Seleniumを用いてPythonでGoogle検索する方法」をご紹介していきます。
 

上記の各ステップは、以下の環境で動作確認済みです。
動作確認済み環境:CentOS Linux release 7.8.2003 (Core)



以降で、各ステップに関してご紹介します。
 

ステップ1:Pythonのインストール

以下の記事を参考にし、お使いのパソコンやサーバーにPythonをインストールしましょう。

>> 【ubuntu向け】pyenvでPythonをインストールする手順【簡単】

>> 【コピペOK】pyenvでPythonをインストールする手順【Linux用】

>> 【最短5分】PyAutoGUIをWindowsにインストールする手順の「手順1:Pythonのインストール」を参照 

>> 【環境構築】インストーラーでMacOSにPythonをインストール

 

既にPythonをインストールされている方は、本ステップを省略してください。



以上で、「ステップ1:Pythonのインストール」は完了です。
 

ステップ2:PythonのSeleniumをインストール【Google検索に必要】

PythonでWebブラウザを用いたGoogle検索するためには、Seleniumをインストールする必要があります。
 

PythonのSeleniumのインストール方法は、以下の記事をご覧ください。


 

既にPythonのSeleniumをインストールされている方は、本ステップを省略してください。



以上で、「ステップ2:PythonのSeleniumをインストール」は完了です。
 

ステップ3:Chromeをインストール【Google検索に必要】

今回は、PythonのSeleniumで「Chrome」を用いてGoogle検索するため、Chromeをインストールする必要があります。
 

端末またはコマンドプロンプトを起動し、Chromeをインストールするために、以下のコマンドを順に実行します。

$ sudo cat <<EOF > /etc/yum.repos.d/google-chrome.repo
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=0
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
EOF
$ sudo yum -y install --enablerepo=google-chrome google-chrome-stable
$ wget https://chromedriver.storage.googleapis.com/87.0.4280.88/chromedriver_linux64.zip
$ unzip chromedriver_linux64.zip
$ sudo mv chromedriver /usr/local/bin/
$ sudo chmod 755 /usr/local/bin/chromedriver
$ sudo yum -y install ipa-pgothic-fonts.noarch



Chromeがインストールされたことを確認するために、以下のコマンドを順に実行します。

$ google-chrome --version
google-chrome --version
Google Chrome 87.0.4280.88
$ chromedriver --version
ChromeDriver 87.0.4280.88 (89e2380a3e36c3464b5dd1302349b1382549290d-refs/branch-heads/4280@{#1761})



上記のようにバージョンが出力された場合、Chromeが正常にインストールされたと判断できます。
 

既にChromeとChromeDriver(SeleniumでChromeを操作するのに必要)をインストールされている方は、本ステップを省略してください。



以上で、「ステップ3:Chromeをインストール」は完了です。
 

ステップ4:PythonのSeleniumでGoogle検索するプログラムの実装

「PythonのSeleniumでGoogle検索するプログラムの実装」に関してご紹介します。
 

以下のプログラムをgoogle-search-selenium.pyというファイル名で保存しましょう。

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options

# Google検索をし検索結果を取得する関数
def search_google_by_selenium(word):

  searched_list = []

  options = Options()
  options.add_argument('--headless')

  # Chromeをヘッドレスモードで起動
  driver = webdriver.Chrome(chrome_options=options)
  #driver = webdriver.Chrome() # ヘッドレスモードでChromeを起動しない場合

  driver.get("https://google.co.jp/search?")  # Googleを開く
  search = driver.find_element_by_name("q")   # 検索ボックス"q"を指定する
  search.send_keys(word)                      # 検索ワードを送信
  search.submit()                             # 検索を実行
  time.sleep(2)

  # Google検索結果からタイトルとURLを抽出
  for elem_h3 in driver.find_elements_by_xpath('//a/h3'):
    elem_a = elem_h3.find_element_by_xpath('..')

    page_data = []
    page_data.append(elem_h3.text)
    page_data.append(elem_a.get_attribute('href'))

    searched_list.append(page_data)

  driver.quit()  # Chromeを終了する。
  return searched_list

searched_list = search_google_by_selenium("python selenium Google検索")

# Google検索の結果を表示
for page_data in searched_list:
    print(page_data[0])
    print(page_data[1])
    print("----------")



以上で、「ステップ4:PythonのSeleniumでGoogle検索するプログラムの実装」は完了です。
 

ステップ5:PythonのSeleniumでGoogle検索するプログラムの動作確認

「PythonのSeleniumでGoogle検索するプログラムの動作確認」に関してご紹介します。
 

以下のコマンドを実行し、PythonのSeleniumでGoogle検索するプログラムの動作を確認しましょう。

$ python3 google-search-selenium.py 
test.py:15: DeprecationWarning: use options instead of chrome_options
  driver = webdriver.Chrome(chrome_options=options)
Python/SeleniumでChrome自動Google検索 | WATLAB ...
https://watlab-blog.com/2019/08/11/selenium-google-search/
----------
【python selenium】Google検索結果をスクレイピング後 ...
【python selenium】Google検索結果をスクレイピング後 タイトルとURLをcsv出力 - Qiita
#環境macOS Catalina 10.15.3Python 3.6.5#概要任意のワードでGoogle検索し、その検索結果の一覧を任意のページ数まで取得タイトルとurlをcsv出力する#方法(コピペOK…
---------- [python]ヘッドレスChromeでGoogle検索結果上位10件 - Qiita
[python]ヘッドレスChromeでGoogle検索結果上位10件 - Qiita
はじめにSeleniumでスクレイピングする際に、ヘッドレス(ブラウザ非表示)で動かす方法のmemo。ただし、このままだとファイルのダウンロードなどが失敗します。クロムの設定をいじる必要があるよ…
---------- Python - pythonのseleniumでgoogle検索|teratail
pythonのseleniumでgoogle検索
### 概要 Pythonクローリング&スクレイピングという本を参考に現在学習しています。以下のコードを実行した際になぜか検索結果が表示されませんでした。 ### 該当のソースコード
---------- 【ChromeDriver】python3でgoogle検索を自動化する ...
https://tomowarkar.com/python3-webdriver/
---------- Python + Selenium + ChromeでGoogleの検索を自動化する [非 ... ---------- 【Python】Seleniumを使ってGoogle検索結果のページ送り ... ---------- 【python×selenium】Googleの検索結果一覧からタイトルを ...
【python×selenium】Googleの検索結果一覧からタイトルを取得する
本記事の要約 Googleでの検索結果から記事のタイトルを抽出するプログラムを書いたので紹介する。 プログラム…
---------- 図解!PythonでSeleniumを使ったスクレイピングを徹底解説 ...
図解!PythonでSeleniumを使ったスクレイピングを徹底解説!(インストール・使い方・Chrome) - ビジPy
PythonでSeleniumを使ったWEBスクレイピングの方法を初心者向けに解説した記事です。インストール方法やXPathを用いた要素の指定方法、ログイン方法など、これだけを読んでおけば良いよう、徹底的に解説しています。
---------- PythonのseleniumでGoogle検索する方法【Google Chrome ...
PythonのseleniumでGoogle検索する方法【Google Chrome操作プログラム】
最近、自分なりにプログラミング言語Pythonの独学をしております。 練習としてGoogle Chromeの検索を自動で行うプログラムを組んでみたのでメモ代わりに公開しておきます。
----------



上記のようにPythonのSeleniumでGoogle検索し、Google検索した結果を抽出することができます。
 

google-search-selenium.pyを短時間で大量に実行すると「HTTPError: HTTP Error 403: Forbidden」エラーが出力され、Googleから規制を受ける(Google検索ができなくなる)ので要注意です。



「HTTPError: HTTP Error 403: Forbidden」を回避し、かつ、短時間で大量にGoogle検索をしたい場合、以下の記事で紹介している「GUI操作の自動化ができるPyAutoGUI」の利用を検討してください。

>> 【要点】PyAutoGUIとは?初心者向けに特徴から使い方までを図解


 

【まとめ】PythonのSeleniumでGoogle検索する方法

今回の記事を通して、PythonのSeleniumでGoogle検索する方法」をご紹介することで、以下の悩みを解消しました。
 

★悩み★
・PythonからChromeを起動してGoogle検索ってできるんだろうか。
・Google検索結果からページタイトルとURLを抽出できないかな。
・Seleniumを利用したGoogle検索の方法が分からないな。



PythonのSeleniumでGoogle検索する方法は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。

コメント

タイトルとURLをコピーしました