自動化

C# Seleniumを使用して、画像を一括でダウンロード、保存をする方法

今回のテーマ

こんにちは、かっぱちゃんです。本業が忙しく久しぶりの投稿となりました。

これから皆さんのお役にたてる記事をどんどん更新していきたいと思いますので、よろしくお願いします。

早速ですが、今回のテーマです。

今回のテーマ

Seleniumを使用して画像を一括でダウンロードします。

今回はSeleniumを使用して、画像をダウンロードしていきましょう。

ある程度、Seleniumを使用した人向けの記事になります。

私の作成したプログラムをただ載せるだけでは他のサイトなどで使いにくいと思うので、順を追って説明していきますね。

サルモリ
今回は画像をダウンロードできるプログラムを作るかっぱ!!

今回取得する画像

この記事ではBingで「ポケモン」と検索した画像を一括で取得してみます。

サイト:ポケモン - Bing images

ブラウザは「Microsoft Edge」で行います。

Edgeでやりたくなった方は下記の記事を参考にすれば環境構築できます。

また、Seleniumの基本的な使い方も学べると思います。

参考Microsoft Edgeを自動化してみよう1

まえがきContents1 まえがき2 Seleniumの準備3 ブラウザの表示の仕方4 googleでの検索方法5 まとめ はじめまして、かっぱちゃんです! これからC#のSeleniumの使い方に ...

続きを見る

取得する属性

ブラウザのツールを使って、2番目の画像(ブリガロン、ゲッコウガ、マフォクシー」を選択しました。

ブラウザツールを見ると、画像をダウンロードするためにimgタグのsrcの内容を取得すれば良さそうです。

全体画面

ブラウザのツール拡大

早速上記のsrcの内容を取得できるプログラムを作ってみましょう!「mimg」クラスを指定すればいけそうです。

今回の例があまりよくなかったのですが、全て対象とするととんでもない数の画像をダウンロードすることになるので、1つ目のタグの画像のみを対象とします。

青い背景の画像をダウンロードします。

ブラウザのツール拡大(dgControl_listを対象とします。)

早速ソースコードを作りました。

 出力結果
https://th.bing.com/th/id/OIP.WZUMmYtoJc2AYRF0G3VQZwHaJy?w=118&h=180&c=7&r=0&o=5&pid=1.7
https://th.bing.com/th/id/OIP.cOc7oGJyJ7ZdOhIk06YlEwHaEK?w=277&h=180&c=7&r=0&o=5&pid=1.7
https://th.bing.com/th/id/OIP.BFQAlCTwVmzZ_X_PLQcizQHaHa?w=156&h=180&c=7&r=0&o=5&pid=1.7
https://th.bing.com/th/id/OIP.pECL542Ke3k8ifbkzcSqYwHaEK?w=277&h=180&c=7&r=0&o=5&pid=1.7
https://th.bing.com/th/id/OIP.Pw9PPYPMrDlGB_tkScNl_AHaD3?w=297&h=180&c=7&r=0&o=5&pid=1.7

dg_Control_list配下のmimgのsrcの内容を出力できました。

簡単に説明すると、クラス名「dgControl_list」を取得して、その配下の「mimg」の要素を全て取得しています。

取得した要素の中からGetAttributeメソッドでsrcの属性を受け取っています。

ここまで出来ればもう8割型出来ています。

ダウンロード処理を作る

後は出力したsrcの内容を指定し、ダウンロードするだけです。

ダウンロードするにはWebClientクラスを使用しましょう!

ソースコードはこちらです。

出力結果

画像にはパスがないですが、「D:\test\pokemonimg\」配下に画像をダウンロードできました!!

このプログラムを皆さんがダウンロードしたいサイト用のソースコードに修正すれば、

一括でダウンロードできるプログラムを作成できると思います!!

サルモリ
画像のダウンロードが一括で出来たかっぱ!

まとめ

今回はC#のSeleniumで画像を一括でダウンロードできるソースコードを作成しました。

サイト内の沢山の画像が欲しいときなどに役に立つと思うので、

是非参考にしてください!それでは最後まで見て頂き、ありがとうございました!

サルモリ
最後までみてくれてありがとうかっぱ!!

 

C#のLinqをさらに学びたい方へ

C#のLinqを理解して頂くために参考書を執筆致しました!

Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!

下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!

⇩初心者向け      ⇩中級者向け

新作本出しました!C#でChatGPTAPIを使ってブログ作成を自動化しませんか?

C#を学ぶならガチで読んで欲しい本はこちら


新しいサイト作りました。アニメのまとめサイトです。

レインボーリアルタイムTwitter(アニメ版)


映画ドキュメンタリ版のブログはこちら
レインボーまとめサイト(映画ドキュメンタリー版)
ポケモンまとめブログはこちら
レインボーまとめサイト(ポケモン版)

-自動化

Ads Blocker Image Powered by Code Help Pro

広告ブロックを検出しました。

ブラウザの広告機能を使用して広告をブロックしていることが検出されました。
ブラウザの広告ブロッカーを無効にし、「更新」をクリックしてください。

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock