Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@kituneponyo

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

More than 1 year has passed since last update.

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

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件以上ほしい場合は他をあたったほうがよさそうですね

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

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
kituneponyo
よわよわぷらぐらま いかに低い意識と技術でその場をどうにかごまかして乗り切るかばかり考えている(乗り切れない)

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?