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

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



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

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



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

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

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

ちなみに、「Webブラウザ経由でGoogle検索する方法」を知りたい方には、以下の記事がオススメです。
 



ちなみに、PythonでYAHOO!JAPAN検索をする方法を知りたい方は、以下をご覧ください。
 


 

BeautifulSoupを用いてPythonでGoogle検索する方法

BeautifulSoupを用いてPythonでGoogle検索する方法をご紹介します。

★BeautifulSoupを用いてPythonでGoogle検索するまでの流れ★
ステップ1:Pythonのインストール
ステップ2:BeautifulSoupのインストール
ステップ3:PythonでGoogle検索するプログラムの実装
ステップ4:実装したPythonでGoogle検索するプログラムの動作確認



上記の流れで「BeautifulSoupを用いて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:BeautifulSoupのインストール【Google検索に必須】

PythonでGoogle検索するために必要な「BeautifulSoup」などのライブラリーをインストールしましょう。

端末またはコマンドプロンプトを起動し、以下のコマンドを順に実行します。

$ sudo pip3 install requests
$ sudo pip3 install bs4
$ sudo pip3 install lxml



上記コマンドにより、PythonでGoogle検索するために必要なライブラリーのインストールができました。
 

requests:Google検索に利用
bs4:BeautifulSoupライブラリーで検索結果のスクレイピングに利用
lxml:xPathに利用(簡単に検索結果からタイトルとURLを抽出できます。)



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

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

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

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

import requests
from bs4 import BeautifulSoup

# Googleで検索したキーワードを設定
keyword = "Python Google検索"

# Google検索のURLを作成 (num=10とすることでGoogle検索の上位10件を取得可能)
url = 'https://www.google.co.jp/search?num=10' + '&q=' + keyword

# 検索するためのメタ情報を作成
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0"
headers = {"User-Agent": user_agent, 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'}

# Google検索を実施
source=requests.get(url, headers=headers).text

# Google検索の結果からタイトルとURLを抽出
soup = BeautifulSoup(source, 'lxml')
search_div = soup.find_all(class_='rc')

# 抽出したタイトルとURLを表示
for result in search_div: # loop result list
  title = result.h3.string
  page_url = result.a.get('href')

  print(title)
  print(page_url)
  print("---------")



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

ステップ4:実装したPythonでGoogle検索するプログラムの動作確認

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

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

$ python3 google-search-beautifulsoup.py
PythonでGoogle検索順位スクレイピング/BeautifulSoupの ...
https://101010.fun/programming/python-beautifulsoup-googlerank.html
---------
【初心者向け】Pythonでスクレイピングする環境を作る⑤ ...
【初心者向け】Pythonでスクレイピングする環境を作る⑤ Google検索をしてみる|Naruhiko
Naruhiko です。 サイトのデータの取得を簡単ですが説明しました。 Python の詳しい内容は専門書などにおまかせしますが、 前回までの方法をそのまま行えばスクレイピングが出来るようになっていると思います。 今回は、Google検索の結果を元にサイトのデータを取得してみます。 前回作成したコードはこれです...
--------- 【Pythonスクレイピング】Google検索結果TOP3を自動抽出 ...
【Pythonスクレイピング】Google検索結果TOP3を自動抽出する - Qiita
プログラミング歴45日の素人が書いています。ご注意ください。#注意スクレイピングは利用方法によってはスクレイピング先のサーバに異常な負荷がかかります。場合によってはグレー、違法となる可能性が…
--------- 【Python】Google検索結果上位サイトのタイトルの特徴を ...
【Python】Google検索結果上位サイトのタイトルの特徴を探ってみる - Qiita
##やりたいことあるキーワードでGoogle検索した上位10サイトのタイトルの特徴を知りたい。##ライブラリBeautifulSoup4requestspandasjanomeskle…
--------- Python超初心者:Google検索するプログラムを作る | 理系 ...
Python超初心者:Google検索するプログラムを作る
Pythonを始めたばっかりの超初心者が、Pythonの導入からGoogle検索するプログラムを作るまでを紹介します。
--------- 【Python・スクレイピング】Googleキーワードプランナーを ...
【Python・スクレイピング】Googleキーワードプランナーを使ってGoogle検索結果を自動取得
今回はPythonを使って、Googleキーワードプランナーのデータを使ってGoogle検索結果を自動取得するプログラムを作成しました。ブログや自社の製品・サービスについてキーワードやGoogle検索結果などを調査するときに使ってみてくださ
--------- PythonでGoogle検索タイトルとURL一覧を抽出してみた ...
PythonでGoogle検索タイトルとURL一覧を抽出してみた
近年Google検索は完全に情報収集の基本になっています。Webスクレイピングで自動情報収集をする場合、Google検索結果を扱えるようになると世界中の情報をシステマティックに処理できるようになります。ここでは、Google検索で得られるタイトルとURLを一覧で取得する方法を紹介します。
--------- Python(パイソン)でGoogleの検索結果をスクレイピングする ...
ページが見つかりません。 - 氷犬の犬小屋Works
--------- Python requestsを使ってグーグル検索をする | 鎖プログラム
【Python】requestsの使い方(グーグル検索してみる)
Pythonの「requests」の使い方について。 この記事の内容はコチラです PythonでWEBサイトへ接続したい PythonでGoogle検索したい requestsの使い方を知る WEB接続の1例としてグーグル検索を取り上げます
--------- [python] google検索結果をbeautifulsoupでスクレイピングして ...
[python] google検索結果をbeautifulsoupでスクレイピングして、タイトルとURLをセットで取得する
pythonでGoogle検索の結果をbeautifulsoupでスクレイピングして、タイトルとURLのセットを取得して表示させてみます。import requestsimport bs4# キーワードを使って検索してhtmlを取得するke
---------



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

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



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

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


 

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

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

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



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

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