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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

2回答

503閲覧

【Selenium×Python】Google検索結果の画像取得について

moratorium

総合スコア33

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

1クリップ

投稿2019/02/04 06:51

SleniumとPythonを使用して、Google画像検索の検索結果から画像を取得したいのですがsrc情報を取得する際に要素指定がうまくいかず”None”が混ざってしまいます。

▼実施したいこと
Google画像検索で、1つ1つの画像をクリック(本来のサイズに拡大)し、画像を保存する

▼改善したいこと
実行結果で、取得したsrcに”None”が入っている

▼記述しているコード

# ページを開く from selenium import webdriver driver = webdriver.Chrome('/Users/odashun1188/chromedriver') first_url = ('https://www.google.co.jp/imghp?hl=ja') driver.get(first_url) # 検索ボックスに入力する searchbox = driver.find_element_by_name('q') searchbox.send_keys('Theo メガネ') elem_login_btn = driver.find_element_by_class_name('rINcab') elem_login_btn.click() # 検索ボタンを押す elem_configuration = driver.find_element_by_id('hdtb-tls') elem_configuration.click() # サイズを指定する elem_size = driver.find_element_by_css_selector('#iszlt_vga') size_url = elem_size.get_attribute('href') driver.get(size_url) # カラーを指定する elem_color = driver.find_element_by_css_selector('#sl8') color_url = elem_color.get_attribute('href') driver.get(color_url) # 写真をクリックする elem_photoclick = driver.find_element_by_css_selector('#rg_s a.rg_l') elem_photoclick.click() # 写真情報を取得する elems_photo = driver.find_elements_by_css_selector('#irc_cc .irc_t.i30052 .irc_mic .irc_mimg.irc_hic a') for index, elem_photo in enumerate(elems_photo): photo = elem_photo.find_element_by_tag_name('img') url = photo.get_attribute('src') print(url)

▼実行結果

None https://shibatamegane.co.jp/image/theo01.jpg https://lunettes.jurajura.jp/wp-content/uploads/2017/10/TH-SPBAMBOO316.jpg

どなたかお力添えいただけないでしょうか。
よろしくお願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Google画像検索の検索結果から画像を取得したいのですが

自動的にGoogle検索を回すのは禁止、とGoogle自身が宣言しています。

Google の利用規約では、どのような種類かに関わらず、自動化されたクエリを Google から明示的な許可を事前に得ずに Google のシステムに送信することは禁止されています。(Search Console ヘルプより)

投稿2019/02/04 07:01

maisumakun

総合スコア145123

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

とりあえず、実際(手動で確認した場合)のsrcに何が入っているかをまず確認した方が良いと思います。
2, 3番目のものは取れているので対象(フォーカスを当てている要素)が違う可能性もあります。

また、ソースコードを拝見しましたが、for文に入るまでのコードはステップ毎に実行しなくても
ある程度URL一発で表示できたりするのではないかと思いました。
処理をできるだけ減らした方が安定もします。

投稿2019/02/06 06:34

oh_rusty_nail

総合スコア319

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問