質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.53%

SeleniumによるGoogle mapsのデータスクレイピングによるエラーメッセージの解消

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 80

Rf_i.m

score 1

前提・実現したいこと

https://su-gi-rx.com/archives/3217
以上のURLに従いながら、SeleniumによるGoogle mapsのデータをスクレイピングをしています。
上のURLに掲載されているものを参考にJupiter Notebookに入力し、検索ワードに「渋谷」と入力したところ、以下のようなエラーメッセージが出ました。

発生している問題・エラーメッセージ

検索キーワード:渋谷
---------------------------------------------------------------------------
SessionNotCreatedException                Traceback (most recent call last)
<ipython-input-14-95aa54cb1174> in <module>
     10 keys = input("検索キーワード:")
     11 #Google Chromeのドライバを用意
---> 12 driver = webdriver.Chrome()
     13 
     14 #Google mapsを開く

~\Anaconda3\envs\kerastutorial\lib\site-packages\selenium\webdriver\chrome\webdriver.py in __init__(self, executable_path, port, options, service_args, desired_capabilities, service_log_path, chrome_options, keep_alive)
     79                     remote_server_addr=self.service.service_url,
     80                     keep_alive=keep_alive),
---> 81                 desired_capabilities=desired_capabilities)
     82         except Exception:
     83             self.quit()

~\Anaconda3\envs\kerastutorial\lib\site-packages\selenium\webdriver\remote\webdriver.py in __init__(self, command_executor, desired_capabilities, browser_profile, proxy, keep_alive, file_detector, options)
    155             warnings.warn("Please use FirefoxOptions to set browser profile",
    156                           DeprecationWarning, stacklevel=2)
--> 157         self.start_session(capabilities, browser_profile)
    158         self._switch_to = SwitchTo(self)
    159         self._mobile = Mobile(self)

~\Anaconda3\envs\kerastutorial\lib\site-packages\selenium\webdriver\remote\webdriver.py in start_session(self, capabilities, browser_profile)
    250         parameters = {"capabilities": w3c_caps,
    251                       "desiredCapabilities": capabilities}
--> 252         response = self.execute(Command.NEW_SESSION, parameters)
    253         if 'sessionId' not in response:
    254             response = response['value']

~\Anaconda3\envs\kerastutorial\lib\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params)
    319         response = self.command_executor.execute(driver_command, params)
    320         if response:
--> 321             self.error_handler.check_response(response)
    322             response['value'] = self._unwrap_value(
    323                 response.get('value', None))

~\Anaconda3\envs\kerastutorial\lib\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response)
    240                 alert_text = value['alert'].get('text')
    241             raise exception_class(message, screen, stacktrace, alert_text)
--> 242         raise exception_class(message, screen, stacktrace)
    243 
    244     def _value_or_default(self, obj, key, default):

SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81

該当のソースコード

pip install chromedriver-binary
#seleniumとbeautifulsoupをインポート
import chromedriver_binary
from selenium import webdriver
import time
from bs4 import BeautifulSoup
import requests
import bs4

#検索蘭にキーワードを記入
keys = input("検索キーワード:")
#Google Chromeのドライバを用意
driver = webdriver.Chrome()

#Google mapsを開く
url = 'https://www.google.co.jp/maps/'
driver.get(url)

time.sleep(5)

#データ入力
id = driver.find_element_by_id("searchboxinput")
id.send_keys(keys)

time.sleep(1)

#クリック
search_button = driver.find_element_by_xpath("//*[@id='searchbox-searchbutton']")
search_button.click()

time.sleep(3)

login_button = driver.find_element_by_class_name("section-result-title")
login_button.click()

time.sleep(3)

page_source = driver.page_source
soup = BeautifulSoup(page_source, 'html.parser')

title = soup.find(class_="GLOBAL__gm2-headline-5 section-hero-header-title-title")
link = soup.find_all(class_="section-info-text")


print("-------------------------------")
print(title.text.strip())
print(link[0].text.strip())
print(link[2].text.strip())
print(link[3].text.strip())
print("-------------------------------")

試したこと

・コマンドプロンプトに同様の内容を入力して実行しましたが、エラーが出ました。

補足情報(FW/ツールのバージョンなど)

・Python3はAnacondaパッケージでインストールしました。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • meg_

    2020/03/26 19:43

    googleはスクレイピング禁止だったと思いますが、許可を取られているのでしょうか?

    キャンセル

  • Rf_i.m

    2020/03/26 21:30

    meg_さん

    ご提言ありがとうございます。
    規約自体は確認しており、今後スクレイピングは実施しないです。
    エラー文の意味を理解しかねたので、今後別サイトでスクレイピングを行なう機会のために、質問させていただきました。

    貴重なお時間の中でこのようにご助言いただきありがとうございます。
    また、誤解を招く質問文、題名になってしまい大変申し訳ございません。

    キャンセル

回答 1

checkベストアンサー

+1

エラーメッセージの、

 This version of ChromeDriver only supports Chrome version 81

が回答です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/03/26 22:03

    otn さんありがとうございます。
    ブラウザとドライバーの整合性がなかったのですね。
    次回別サイトでスクレイピングする際に参考に致します。ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる