🐙

Octoparseで始めるノーコードスクレイピング入門

に公開

Octoparseで始めるノーコードスクレイピング入門

Webサイトの情報をまとめて取得したいとき、みなさんはどのようにしていますか?
個人的には、今までPythonやSeleniumなどを使っていたのですが、今回はNo codeでWebスクレイピングができるツール「Octoparse」を試してみました。

Macのデスクトップアプリが提供されているので、そちらをダウンロードしてみます。
ブラウザベースのツールではなさそうなので、まずはアプリをインストールするところからスタートです。


Octoparseの料金プラン

公式サイトの料金表を見ると、無料版と有料版(プレミアム)が用意されていて、無料版にはいくつか制限があるようです。

Octoparseの料金プラン

無料版の制限例

  • タスク数や同時実行数
  • 自動エクスポートや自動実行などの一部機能が使えない
  • 取得データの行数上限

この記事では、まず無料版でどこまで使えるか試してみました。


モノタロウから人気商品を取得してみる

実際にどのくらい手軽に使えるのか、モノタロウの人気商品ランキングページ(こちら)を対象に、Octoparseで情報を取得してみます。

1. URLを指定してタスク開始

Octoparseを起動し、取得したいページのURLを入力し「スタート」ボタンを押します。

URL入力画面
すると、Octoparseが自動でページのDOMを解析し、商品リスト部分を検出してくれます。

2. 自動でDOMを解析してくれる

↓DOMを自動で解析している様子
https://youtu.be/UXDoQIv1H5Q

DOMの自動解析が終わると、ワークフローの作成に入ります。
今回は複雑なワークフローは使用しないので、デフォルトで出力されたものを使用します。
生成されたワークフロー

3. ページネーションの設定

モノタロウの商品リストにはページ送りがあるので、複数ページにわたって情報を取得したいときは「ページネーション(Pagination)」を設定します。

ページネーション設定

「次へ」ボタンを指定することで、タスク実行時に自動的に次のページへ移動させることができます。

今回は1ページのみ(40件の情報)を取得したいので、ページネーションはオフにして実行します。

4. データ取得のプレビューと編集

取得したい情報(商品名、価格、画像URLなど)を選択し、いらない列があれば削除します。列の名前やフォーマットを変更することも可能です。

プレビュー画面

カスタマイズポイント

  • 取得したくないデータ列をオフにする
  • 表示名(列名)をわかりやすく修正
  • 余分なテキストが含まれる場合はクリーンアップ

5. タスク実行

ワークフローの設定ができたら実際にタスクを実行します。
https://youtu.be/af4Zgses0I4

6. エクスポート形式を選択

データの取得が完了して「エクスポート」ボタンを押すと、CSV/Excel/JSONなど、さまざまな形式でデータを出力できます。
今回はCSVを選択しました。

エクスポート形式の選択

実際にCSVで取得した結果はこちら。商品タイトルや価格、リンク、画像URLなどが40件まとめて取得されました。

CSVの出力例


タスクの共有方法

Octoparseでは、作成したスクレイピングタスクを他の人と共有できます。

タスクの共有

  • リンクで共有

    • リンクを開くとMacのアプリ(Octoparse)が起動し、そのままタスクを追加できます。
    • URLを送るだけでタスクを共有できるのはとても便利。
  • タスクのエクスポート/インポート

    • 「タスクをエクスポート」するとタスク名.otdファイルがダウンロードされます。
    • 受け取った人は、Octoparseの「タスクの新規作成」→「タスクをインポート」でそのファイルを選択するだけで、同じタスクを実行可能です。

プレミアムプランで使える機能

無料版では使えない機能もいくつかあります。
例えば自動エクスポート自動実行などはプレミアムプランの契約が必要です。

  • 自動エクスポート: 取得したデータを自動的に指定の場所に保存
  • 自動実行: 指定スケジュールでタスクを実行

本格的に運用する場合や、日次・週次などの定期的なスクレイピングが必要な場合は、有料版を検討したほうが良さそうです。


ちょっと複雑な設定にも対応

商品の属性が商品ごとに違う場合でも、取得ルールを細かく設定すれば抽出できます。
下の例のように、右の商品にだけ「ガスの種類」というプロパティがある場合でも、Octoparse上で列ごとにデータの存在・有無を判定したり、フォーマットを整えたりできます。

商品ごとに異なるプロパティ

設定画面で、値を抽出する列を増やしたり、空の列を削除したりすればOK。

キーワードが連なった列

取得したデータのフォーマットはOctoparseアプリ内である程度整形可能です。

フォーマットの設定画面


複数URLを一気に処理したい

例えば、モノタロウでカテゴリごとのランキングを取得したい場合、タスクをひとつ作って「実行時に取得先のURLだけ変えたい」ケースがあるかと思います。

残念ながら無料プランのUI上からは、タスクを実行するたびに手動でURLを貼り替える必要がありそうでした。

URLを貼り替える画面

バッチ処理機能もありますが、複数URLを指定すると出力ファイルが1つになり、下に連なる形で取得されるようです。URLごとに出力を分けたい場合は、タスクを分ける必要があるかもしれません。


まとめ

以上、Octoparseを使ってモノタロウの人気商品のデータをスクレイピングしてみました。

  • Mac向けデスクトップアプリをダウンロードするだけで、ブラウザ操作なしにNo codeでスクレイピング可能
  • ページネーション設定なども含め、タスク形式で直感的にデータ取得できる
  • 無料プランでもある程度のデータ数なら実行可能
  • タスクの共有機能(リンク共有/ファイルエクスポート)も便利

「Pythonコードを一切書かずにサクッとデータを取得してみたい」「チームでタスクをやりとりしたい」という場合にOctoparseはとても使いやすい印象でした。

Discussion