自動化

C# Seleniumを使用して、ポケモン攻略の種族値一覧を取得し、CSVに書き込んでみた。

今回のテーマ

今回はSeleniumを使用して、ポケモン攻略さんからポケモン種族値一覧を取得し、

CSVに書き込むソースコードを見ていきます。

Seleniumの可能性の幅がとても広がると思いますので、楽しみにしていてくださいね!!

KappaChan
Seleniumの実践編かっぱ!

取得するポケモンの表のタグ名を確認する

まずは取得するポケモンの表について確認していきましょう!!

私もダイヤモンドパールの時代からポケモン攻略さんのホームページには何回もお世話になりました!

ほしいポケモンの情報が本当に見つけやすいんですよね。

余談は置いておいて、今回対象とするページはこれです!!

この表からポケモン名と種族値を取得してみましょう!!!

下記の手順で取得方法を探っていきます。

step
1
ページ内でF12を押下し、ツールを開く

step
2
ツールの右上の矢印を押し、対象のテーブルにカーソルを合わせる。

step
3
htmlのソースコードが表示されるので、背景が薄灰色になっている所を確認する。

step
4
class名をメモ。今回は「center stupidtable stupidtable_common」

C#のエンジニアであれば、絶対買ってほしい本2選

C#の初心者にオススメ!基本はこの本で抑えよう!


Linqの使い方が沢山載っている。中級者以上の方にオススメ!

ポケモンの種族値一覧を取得するソースコード

取得したタグ名を確認した上で、ソースコードを記述していきます。ソースコードを見てみましょう。

ソースコードのポイントです。

GoToUrlメソッドで先ほどのURLを開く。

FindElementメソッド内でXpathメソッドを使用する。Xpathメソッドの引数でtableのクラス名を指定する。

FindElementメソッドのTextプロパティを指定することで、文字列を取得することが出来る。

コメントにも書いてありますが、Replaceメソッドはアローラやガラルポケモン対策です。改行されてしまうので^^;

KappaChan
今回の例では、表全体を文字列で取得できるかっぱ!

取得した文字列をリストに整形

続けて、取得した情報が文字列では使いにくいので、リスト化します。

改行で各ポケモン分かれていたので、Splitメソッドを使いリスト化しました。

ポケモンの情報が" "でフォーマットされていたので、CSVのカンマにします。

このソースコードを見て、LinqのSelectメソッドが分からない人は下記の記事で学んでください!!

Seleniumの幅を広げる前にC#の幅を広げましょう!!

こちらもCHECK

C# Linqはとても便利なので使い方を覚えよう。Selectメソッド、Whereメソッドを解説します。

今回のテーマContents1 今回のテーマ2 Linqを使用する場面3 Linqメソッドの解説の流れ4 Selectメソッドの使い方5 Whereメソッドの使い方6 まとめ こんばんは、かっぱちゃん ...

続きを見る

CSVファイルに書き込み

最後にCSVファイルに書き込みます。

作成したリストをAppendAllLinesメソッドでそのままファイルに書き込みます。

Excelで開きたかったので、文字コードはS-JISです。

AppendAllLinesメソッドはファイル書き込みでめちゃくちゃ便利なので、知らない方は下記の記事を読んでみてください。

こちらもCHECK

C# Linq ファイルの書き込み方法を紹介 Linqの抽出結果を書き込むことも可能です。 

今回のテーマContents1 今回のテーマ2 ファイルに1行ずつ書き込む方法3 配列、リストの文字列をファイルに一気に書き込む方法4 配列、リストの文字列をファイルに一気に追加する方法5 配列、リス ...

続きを見る

全てのコード

今までの合わせたコードがこちらです。

出力内容確認

Excelで開いてみました。ちゃんと出力されていますね^^

KappaChan
ちゃんと出力できているかっぱ!!

まとめ

今回はポケモン攻略さんのデータをCSVに書き込むソースコードを作成しました。

今回のようなことが出来ると、C#で出来ることがかなり増えてくるので、ぜひ使い方を覚えてくださいね!!

このブログではLinqの記事が一番多いので、Selectメソッドが分からなかった人はブログを周回して学んでくださいね!!

以上、最後まで見て頂き、ありがとうございました。

KappaChan
最後までみてくれてありがとうかっぱ!!

 

プログラミング能力を上げたい方は是非オンラインのプログラミング教室も検討してみてくださいね!!

一人で独学をするよりもプロからオンラインでプログラミングを教えてもらった方が10倍は効率いいです!!

私が厳選したオススメのオンライン教室を貼っておきます!!どちら共、エンジニアとしての就職までサポートしてくれる素晴らしい教室です。キャリアなどの個別相談は無料ですよ!!

申し込みは完全無料!未経験でITエンジニアを目指したい方にオススメ!

Webエンジニアになりたい方にオススメ!個別相談は無料!

KappaChan
オンラインのプログラミング教室は本当にオススメかっぱ!!

-自動化

X