6

みなさんこんにちは。
今回は、「テーブルスクレイピングライブラリを用いてウェブページのテーブルをExcelファイルに出力するサンプルシナリオ」を使用し、ATサイトのサンプルシナリオのテーブルを取得してみた結果をみなさんに共有したいと思います。

テーブルスクレイピングの機能としては、Web ページに表示されるテーブルをスクレイピング(抽出)して、
テーブルの値をCSV ファイルとして保存ができます。
ページ遷移をしながら、テーブルを取得できるので複数ページのテーブルを取得したい場合は、とても便利だと思いました。

今回はサンプルシナリオでテーブルスクレイピング機能を確認した後、応用としてATサイトのサンプルシナリオページにある
テーブルを取得できるか試してみました。

今回設定したプロパティについて私が設定に迷った箇所を一部記載します。

スクレイピング対象のXpath:取得したいテーブルのXpath(F12 キーの要素から取得)
ページ遷移要素のXpath:nextなど、ページ遷移要素のXpath(F12キーの要素から取得)

回数:3
これは、ページ遷移を何回するかを設定します。
読み取りたいページ数ではなく、ページ遷移の回数です。
今回は4ページまで取得したかったので、3と設定します。

開始行:1行目
テーブルの何行目から取得するか設定します。
今回は、テーブル全体を取得したかったので1行目と設定しました。

このように、プロパティ画面の指示に合わせて設定値を入力し、実行してみました。

すると、「指定したXpathがない」との英語のエラーが出ました。
出力されたcsvファイルを確認すると、3ページまでのテーブルは取得できていましたが、4ページ目を取得できていませんでした。
F12キーの要素の選択で、何度もXpathを取得しても、結果は同じでした。
そこで、Xpathの右側にあるボタン「ブラウザ」「選択」を利用してみようと思い、マニュアルを見ながら、設定してみました。
すると、正常に実行ができたのです。
マニュアルには、F12 キーからの要素選択でも、Xpathを取得できるとの記載がありましたが、今回のように、F12 キーのからXpathを取得し、エラーが発生するようだったら、「ブラウザ」「選択」ボタンを使用し、設定して試してみたほうが良いなと感じました。
あまりブラウザ関連ライブラリを使用しない方で、Xpath取得にハードルを感じる方は、「ブラウザ」「選択」ボタンからXpathを取得したほうが、分かりやすいし、間違いがないかと思います。

Xpath取得で少し、悩みましたが、使いこなせるようになれば、画面遷移しながらテーブルを取得できるのは、非常に便利だと感じました。処理時間もそこまでかからないので、今後使っていきたいと思います。
ただ、出力したcsvをみると、対象テーブルによっては項目と値がバラバラだったりすることがあるので、
成形作業は必要になるのかなと思います。

以上、最後までお読みいただきありがとうございました。

grp_zaki 質問の投稿
回答とコメントは、会員登録(無料)で閲覧できるようになります。