3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

google images download で101件以上画像を取得できない問題を調べた

Last updated at Posted at 2020-02-20

以下を参考にしてサンプル画像大量ゲットできました

google image downloadが動かなかったのでその対応

よーしおじさん教師データつくっちゃうぞ、100件だと心もとないから1000件くらい画像ほしいな

ということでデバッグしましたしています

#だめぽ

とりあえずきちんとデバッグしてみたんですが、この問題はいくつかの問題が重なっていて

  • 普通に読みに行くのと、chromedriverで取得するのとでは取得できるhtmlのエンコード状態が異なることによるエラー
    • 100件以下の場合、101件以上の場合で挙動を分けることで解決
  • chromedriverでchromeを自動操縦するとき、画面をスクロールさせてどんどん新しい画像を読んでいくんだけど、3回めのlazy loadで「結果をもっと表示」ボタンが出る。このボタンを押すコードがあるがgoogle側の仕様変更により動作していなかった
    • DOM要素の指定を適切にすることで解決
  • 画像検索のHTMLには検索結果の諸情報がjavascriptの配列の形式で格納されており、google images download はそれをjsonデコードしているが、google側の仕様(変更かどうかわからんが)、lazy loadを行った際の元画像URLはjs上で管理され、HTMLにはサムネイルしか描写されないので、最大限にlazy loadを行ったところで、HTMLソースだけを解析しても最初の100件ぶんしか元画像は取れない
    • やろうとすればできそうな気もするけど、相当大変そう

ということで、なんか無理っぽいという結論がでたのでいったんペンディングにします 101件以上ほしい場合は他をあたったほうがよさそうですね

とりま、詳しいことがわかっただけでもよしとしましょう

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?