Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonコードでGoogle検索を自動化する方法|googlesearchモジュールの使い方

はじめに

この記事では、Pythonのコードを使ってGoogle検索を実行する方法を解説します。Pythonプロジェクトの開発中にWeb上のデータへアクセスしたり、Googleの検索結果をプログラム内で利用したりしたい場合に、この手法がとても便利です。

前提条件

  • システムにPythonがインストールされていること
  • 「google」モジュールがインストールされていること(pipで以下のように導入できます)
C:\Users\rajesh>python -m pip install google
Collecting google
Downloading https://files.pythonhosted.org/packages/c8/b1/887e715b39ea7d413a06565713c5ea0e3132156bd6fc2d8b165cee3e559c/google-2.0.1.tar.gz
Requirement already satisfied: beautifulsoup4 in c:\python\python361\lib\site-packages (from google) (4.6.0)
Installing collected packages: google
Running setup.py install for google ... done
Successfully installed google-2.0.1

なお、環境によっては python -m pip install googlesearch-pythongooglesearch パッケージをインストールする必要がある場合もあります。

これらの準備が整えば、PythonでGoogle検索を行うコードを書けるようになります。

検索結果のURLリストを取得する

以下は、特定のキーワード(例:「AI in python」「Tutorialspoint」など)で検索し、その結果として得られる上位リンク(ここでは上位10件程度)をPythonプロジェクトで利用したい場合のサンプルプログラムです。

# PythonコードでGoogle検索を実行する
class Gsearch_python:
    def __init__(self, name_search):
        self.name = name_search

    def Gsearch(self):
        count = 0
        try:
            from googlesearch import search
        except ImportError:
            print("'google'という名前のモジュールが見つかりません")
        for i in search(query=self.name, tld='co.in', lang='en', num=10, stop=1, pause=2):
            count += 1
            print(count)
            print(i + '\n')

if __name__ == '__main__':
    gs = Gsearch_python("Tutorialspoint Python")
    gs.Gsearch()

実行結果

1
https://www.tutorialspoint.com/python/
2
https://www.tutorialspoint.com/python3/
3
https://www.tutorialspoint.com/python_online_training/index.asp
4
https://www.tutorialspoint.com/python/python_overview.htm
5
https://www.tutorialspoint.com/python/python_loops.htm
6
https://www.tutorialspoint.com/python/python_pdf_version.htm
7
https://www.tutorialspoint.com/python/python_basic_syntax.htm
8
https://www.tutorialspoint.com/tutorialslibrary.htm
9
https://www.tutorialspoint.com/
10
https://www.tutorialspoint.com/django/
11
https://www.tutorialspoint.com/numpy
12
https://www.quora.com/I-have-learned-Python-from-Tutorials-Point-What-should-I-do-to-learn-more-topics-so-that-I-can-have-more-advantages-on-my-interviews
13
https://www.pdfdrive.com/python-tutorial-tutorials-point-e10195863.html

この出力は、ブラウザで同じキーワードを検索した際の結果とほぼ同じものになります。

検索結果をブラウザで直接開く

検索結果のリンク一覧を取得するのではなく、クエリの検索結果ページをブラウザで直接表示したい場合は、次のプログラムを使用します。

from googlesearch import *
import webbrowser

# 実行時に検索クエリの入力を求める
query = input("検索キーワードを入力してください:")

# 使用するブラウザのパスを指定(例:Chrome)
# chrome_path = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe %s'

for url in search(query, tld="co.in", num=1, stop=1, pause=2):
    webbrowser.open("https://google.com/search?q=%s" % query)

実行結果

>>>
=============== RESTART: C:/Python/Python361/google_search1.py ===============
検索キーワードを入力してください:Tutorialspoint

上記の例では「tutorialspoint」というキーワードで検索しています。スクリプトを実行すると、入力したキーワードのGoogle検索結果ページが自動的にブラウザで開きます。

主なパラメータの意味と注意点

  • tld:検索に使用するトップレベルドメイン(例:「co.in」「co.jp」)。地域ごとの検索結果を取得できます。
  • lang:検索結果の言語(例:「ja」「en」)。
  • num:1ページあたりに取得する結果の件数。
  • stop:取得を終了する結果の位置。
  • pause:リクエスト間の待機時間(秒)。短すぎるとGoogle側からアクセス制限を受ける可能性があるため、2秒以上を設定するのが安全です。

このように、googlesearchモジュールを利用すれば、数行のコードでGoogle検索を自動化でき、取得した結果をスクレイピングやデータ収集などの処理に簡単に組み込むことができます。

  1. PythonでのCX_Freezeの使い方:スクリプトを実行ファイル(EXE)に変換する方法

    はじめに 何か面白いものを作りたいという欲求は人間の本能であり、完成したものは誰かに共有したくなるものです。Pythonでもその願いを叶えられます。ただし、作成したPythonスクリプトをそのまま共有するには、相手のマシンにも同じバージョンのPythonと、プログラムで使用しているすべてのモジュールがインストールされている必要があります。 そこで役立つのがCX_Freezeです。このツールを使えば、Pythonがインストールされていない環境でも動作するスタンドアロンの実行ファイル(.exe)を作成できます。 CX_Freezeのインストール まず、コマンドプロンプトで以下のコマンドを実行し、c

  2. 画像や動画でGoogle検索する方法|リバース画像検索を徹底解説

    Googleは世界で最も広く利用されている検索エンジンです。キーワードを入力するだけで、関連する画像や情報を簡単に見つけられます。しかし、「手持ちの画像や動画から検索したい」と思ったことはありませんか?実は、キーワードを使わずに、画像や動画から逆引き検索(リバース検索)を行うことができます。この記事では、画像や動画を使ってGoogleで手軽に検索する方法を4つご紹介します。 画像や動画でGoogle検索する4つの方法 画像や動画でGoogle検索をする主な目的は、その画像や動画の出所(元ネタ)を特定することです。デスクトップやスマートフォンに保存している画像について、「この画像はどこから来たの