Octoparseで始めるノーコードスクレイピング入門
Octoparseで始めるノーコードスクレイピング入門
Webサイトの情報をまとめて取得したいとき、みなさんはどのようにしていますか?
個人的には、今までPythonやSeleniumなどを使っていたのですが、今回はNo codeでWebスクレイピングができるツール「Octoparse」を試してみました。
- 公式サイト: Octoparse
- ダウンロード: Octoparseダウンロード
Macのデスクトップアプリが提供されているので、そちらをダウンロードしてみます。
ブラウザベースのツールではなさそうなので、まずはアプリをインストールするところからスタートです。
Octoparseの料金プラン
公式サイトの料金表を見ると、無料版と有料版(プレミアム)が用意されていて、無料版にはいくつか制限があるようです。

無料版の制限例
- タスク数や同時実行数
- 自動エクスポートや自動実行などの一部機能が使えない
- 取得データの行数上限
この記事では、まず無料版でどこまで使えるか試してみました。
モノタロウから人気商品を取得してみる
実際にどのくらい手軽に使えるのか、モノタロウの人気商品ランキングページ(こちら)を対象に、Octoparseで情報を取得してみます。
1. URLを指定してタスク開始
Octoparseを起動し、取得したいページのURLを入力し「スタート」ボタンを押します。

すると、Octoparseが自動でページのDOMを解析し、商品リスト部分を検出してくれます。
2. 自動でDOMを解析してくれる
↓DOMを自動で解析している様子
DOMの自動解析が終わると、ワークフローの作成に入ります。
今回は複雑なワークフローは使用しないので、デフォルトで出力されたものを使用します。

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

「次へ」ボタンを指定することで、タスク実行時に自動的に次のページへ移動させることができます。
今回は1ページのみ(40件の情報)を取得したいので、ページネーションはオフにして実行します。
4. データ取得のプレビューと編集
取得したい情報(商品名、価格、画像URLなど)を選択し、いらない列があれば削除します。列の名前やフォーマットを変更することも可能です。

カスタマイズポイント
- 取得したくないデータ列をオフにする
- 表示名(列名)をわかりやすく修正
- 余分なテキストが含まれる場合はクリーンアップ
5. タスク実行
ワークフローの設定ができたら実際にタスクを実行します。
6. エクスポート形式を選択
データの取得が完了して「エクスポート」ボタンを押すと、CSV/Excel/JSONなど、さまざまな形式でデータを出力できます。
今回はCSVを選択しました。

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

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

-
リンクで共有
- リンクを開くとMacのアプリ(Octoparse)が起動し、そのままタスクを追加できます。
- URLを送るだけでタスクを共有できるのはとても便利。
-
タスクのエクスポート/インポート
- 「タスクをエクスポート」すると
タスク名.otdファイルがダウンロードされます。 - 受け取った人は、Octoparseの「タスクの新規作成」→「タスクをインポート」でそのファイルを選択するだけで、同じタスクを実行可能です。
- 「タスクをエクスポート」すると
プレミアムプランで使える機能
無料版では使えない機能もいくつかあります。
例えば自動エクスポートや自動実行などはプレミアムプランの契約が必要です。
- 自動エクスポート: 取得したデータを自動的に指定の場所に保存
- 自動実行: 指定スケジュールでタスクを実行
本格的に運用する場合や、日次・週次などの定期的なスクレイピングが必要な場合は、有料版を検討したほうが良さそうです。
ちょっと複雑な設定にも対応
商品の属性が商品ごとに違う場合でも、取得ルールを細かく設定すれば抽出できます。
下の例のように、右の商品にだけ「ガスの種類」というプロパティがある場合でも、Octoparse上で列ごとにデータの存在・有無を判定したり、フォーマットを整えたりできます。

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

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

複数URLを一気に処理したい
例えば、モノタロウでカテゴリごとのランキングを取得したい場合、タスクをひとつ作って「実行時に取得先のURLだけ変えたい」ケースがあるかと思います。
残念ながら無料プランのUI上からは、タスクを実行するたびに手動でURLを貼り替える必要がありそうでした。

バッチ処理機能もありますが、複数URLを指定すると出力ファイルが1つになり、下に連なる形で取得されるようです。URLごとに出力を分けたい場合は、タスクを分ける必要があるかもしれません。
まとめ
以上、Octoparseを使ってモノタロウの人気商品のデータをスクレイピングしてみました。
- Mac向けデスクトップアプリをダウンロードするだけで、ブラウザ操作なしにNo codeでスクレイピング可能
- ページネーション設定なども含め、タスク形式で直感的にデータ取得できる
- 無料プランでもある程度のデータ数なら実行可能
- タスクの共有機能(リンク共有/ファイルエクスポート)も便利
「Pythonコードを一切書かずにサクッとデータを取得してみたい」「チームでタスクをやりとりしたい」という場合にOctoparseはとても使いやすい印象でした。
Discussion