
あまり知られていないかもしれませんが、Googleのサービスに「Googleトレンド」というものがあります。世界中の人がどんなキーワードで検索しているのか、そのトレンドを集計しているページです。
https://trends.google.co.jp/trends/?geo=JP
このGoogleトレンドに「最近の急上昇」検索ワードがリストになって公開されています。この記事を書いている本日2022年2月8日(火)の急上昇ワードは以下のようになっています。

この急上昇ワードは毎日更新されているようで、毎日ここにリストされたキーワードを検索して調べていけば世の中のトレンドを把握することができそうです。
とはいうものの、1つ1つキーワードをコピペして検索するのは面倒くさいので、一発ですべてのキーワードをGoogle検索するPythonスクリプトを作成してみました。
ソースコード
以下が作成したスクリプトです。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from bs4 import BeautifulSoup import time driver = webdriver.Chrome(ChromeDriverManager().install()) URL = 'https://trends.google.co.jp/trends/?geo=JP' driver.get(URL) time.sleep(2) soup = BeautifulSoup(driver.page_source, "html.parser") search_words = [] for item in soup.find_all('div', class_='list-item-title'): # ランキングキーワードを取得する search_words.append(item.text) tab = 1 for item in search_words: if tab > 1: # 新しいタブを作成する driver.execute_script("window.open()") # 新しいタブに切り替える driver.switch_to.window(driver.window_handles[tab-1]) tab = tab + 1 driver.get('https://www.google.com/') # Googleを開く search = driver.find_element_by_name('q') # HTML内で検索ボックス(name='q')を指定する search.send_keys(item) # 検索ワードを送信する search.submit() # 検索を実行 |
実際の動作
スクリプトを実行した様子をご覧ください。ビデオではバッチファイル(拡張子がbatのファイル)を使ってプログラムを起動させています。プログラムを実行するとブラウザが自動的に立ち上がるとともに、新しいタブが次々と開いてキーワードを検索していきます。
プログラムの説明
簡単にプログラムを説明します。
まずは急上昇ワードがある場所のHTMLタグを調べるため、Google Chromeにおいて、急上昇ワードがある位置で右クリックをして「検証」を選択します。

すると急上昇ワードがある場所のタグが<div class=”list-item-title”>であることが分かります。この情報を使ってWebスクレイピングをしていきます。

Pythonスクリプトではseleniumライブラリのwebdriverを使って、Google Chromeをプログラムから動かすので、必要なモジュールをインポートしています。
|
1 2 3 4 |
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from bs4 import BeautifulSoup import time |
GoogleトレンドのURLを開き、ページの内容をBeautifulSoupライブラリで解析します。
|
6 7 8 9 10 11 |
driver = webdriver.Chrome(ChromeDriverManager().install()) URL = 'https://trends.google.co.jp/trends/?geo=JP' driver.get(URL) time.sleep(2) soup = BeautifulSoup(driver.page_source, "html.parser") |
さきほど調べた急上昇ワードがあるHTMLタグ(div class=”list-item-title”)を指定し、検索ワードを取り出します。
|
13 14 15 |
search_words = [] for item in soup.find_all('div', class_='list-item-title'): # ランキングキーワードを取得する search_words.append(item.text) |
取り出した検索ワードを1つずつ、新しいタブを開いて検索していきます。
|
17 18 19 20 21 22 23 24 25 26 27 28 |
tab = 1 for item in search_words: if tab > 1: # 新しいタブを作成する driver.execute_script("window.open()") # 新しいタブに切り替える driver.switch_to.window(driver.window_handles[tab-1]) tab = tab + 1 driver.get('https://www.google.com/') # Googleを開く search = driver.find_element_by_name('q') # HTML内で検索ボックス(name='q')を指定する search.send_keys(item) # 検索ワードを送信する search.submit() # 検索を実行 |
さいごに
今日紹介したプログラムを毎日使えば、日々の世界の流れを簡単に追っていけるかもしれません。本日の内容が誰かのお役に立てば幸いです。
- 投稿タグ
- プログラミング