Webスクレイピングをノンコードで行うことが出来る便利な拡張機能を見つけた。コードを書くことなく、GUI操作でスクレイピングが出来るので、記事にまとめて共有したいと思う。
使用するプラグイン
Data Miner をChromの拡張機能に追加する
実践
スクレイピングするサイト:草加市プレミアム商品券特設サイト
取扱事業者一覧をスクレイプする。
ステップ1
ステップ2
ステップ3
Recipe Creator ウィンドウが自動で開くので、「2 Type」タブへ移動。今回はリストタイプなので、上の「List / Searh Page」を選択。
ステップ4
「4 Rows」タブに移動し、「Easy Row Finder」をクリック
ステップ5
小ウィンドウが開くので、指示通り、スクレイプするひとブロックにカーソルを当て、1キー を押下。
下記は、カーソルを当てたところ。スクレイプしたいブロック全体がオレンジ色になっている。
次に、2つ目にスクレイプされるべきブロックにカーソルを当て、同様に、2キー を押下。
ステップ6
「5 Col」タブでは、スクレイプする具体的な値を指定する。
項目名を任意で「name」とした。Typeは、値をスクレイプしたいので、デフォルトの「Scrape a value...」のまま、「Easy Column Finder」を押下。
インストラクション通りに、スクレイプしたい値の上にカーソルを当て、Cキー を押下。
うまくいっていれば、下記のように抽出された結果が表示される。欲しかった値であることを確認。
引き続きコラムを追加して、スクレイプしたい値を抽出する。スクレイプしたい値が複数見つかった場合は、下記のように候補が表示されるので、欲しい値を選択する。
4コラムを取得することにした。「5 Cols」を終了後は下記のようになった。
ステップ7
「6 Nav」タブに移動する。
ここでは、ページを移動するための情報を指定する。
今回スクレイぷするサイトは、「Easy Nav Finder」ではうまくいかないため、「Advanced Settings」に進む。
ウェブサイトの「次へ」だけを選択したいのだが、CSSクラス、HTMLタグを使っても、うまくいかない。
結局、下記の方法にて、目的の「次へ」だけを指定することが出来た。「次へ」という文字を直接探す方法だ。「a:contains(指定したい文字)」
ステップ8
「8 Save」タブに移動し、作成したレシピに任意の名前をつけ、「Save」を押下し保存。
ステップ9 レシピを実行する
スクレイプしたいページを開き、拡張機能ボタンをクリック。
現在開いているページを1ページ目として、スクレイプを行うことになる。
「My Recipes」タブに移動し、先ほど作ったレシピで「▶️」をクリック
Data Minerウィンドウが開いたら、今回は1ページだけでなく、次のページへと続けてスクレイプしたいので「Next Page Automation」を選択。何ページスクレイプしたいのか、次のページに移動するまでに何秒待つか、を指定する。また、画面下部のプレビューで、欲しいデータが取れているか確認し、まずは、数ページだけスクレイプし、結果が望ましいものになっているか確認することをお勧めする。
以上で完了。
画面下部にスクレイプした結果が表示される。CSVもしくはエクセルにてローカルにダウンロードすることも可能。
まとめ
簡単にコードを書く必要なくスクレイプ出来る非常に便利なツールを見つけ大満足。無料プランだと 1ヶ月に50,000行まで無料で利用出来るようだ。
今回スクレイプしたデータも、先日Googleサイトで作成したWeb
サイトコスパ101にアップロードした。