Pythonでseleniumを使い、Googleの検索結果を取得するスクリプトを作成しました。
しかし、キーワードに英語を入れる場合は取得できるのですが、日本語を入れた場合には表示することが出来ません。
これまで様々なサイトを見ましたが、どうしても解決が出来なかったため質問しました。
なお、コマンド上でファイルを実行したら取得ができます。
ブラウザで実行した場合に表示ができません。(英語の場合には表示ができます)
どなたかご教授いただけないでしょうか?
python3
1#!/usr/bin/env python 2# -*- coding: utf-8 -*- 3 4import csv 5from datetime import datetime 6from selenium import webdriver 7from selenium.webdriver.common.keys import Keys 8from selenium.webdriver.common.by import By 9from selenium.webdriver.support.ui import WebDriverWait 10from selenium.webdriver.support import expected_conditions as EC 11from selenium.webdriver.chrome.options import Options 12from selenium.common.exceptions import TimeoutException 13import cgi # CGIモジュールのインポート 14import time 15# import cgitb 16import sys 17import io 18# sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') 19# sys.stdout.reconfigure(encoding='utf-8') 20 21options = Options() 22 23options.add_argument('--headless') 24options.add_argument('--no-sandbox') 25 26driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver',options=options) 27 28print("Content-Type: text/plain;charset=utf-8") #HTMLを出力するために必要 29print("") #HTMLを出力するために必要 30 31# kw = "python3" 32kw = "python3とは" 33 34# driver.get('https://yahoo.co.jp') 35driver.get('https://google.com') 36 37# # 入力フォームの値をクリアにする 38driver.find_element_by_name("q").clear() 39 40# # 入力フォームの要素を探す 41element = driver.find_element_by_name("q") 42 43# # 入力フォームにキーワードを入力する 44element.send_keys(kw) 45 46# # フォームを送信する 47element.send_keys(Keys.RETURN) 48 49# # titleタグに標準入力したキーワードが含まれるまで10秒待つ 50WebDriverWait(driver, 10).until( 51 EC.title_contains(kw) 52) 53 54 55print(driver.title)
回答1件
あなたの回答
tips
プレビュー