JSONからのデータをスクレイピングする方法
フォローするOctoparseは、「JSONからの抽出」という機能もあります。JSONを介して、より高速で信頼性の高いデータ抽出を行えるようになりました。このチュートリアルでは、この機能の使い方を紹介します。
JSONとは?
JSONはJavaScript Object Notationの略で、軽量のデータ交換フォーマットです。人間にとって読み書きが容易で、マシンにとっても簡単にパースや生成を行なえる形式です。
なぜJSON抽出を使うのか?
Octoparseが画像やその他の情報を読み込む必要がないため、より高速化になることができます。一部のWebサイトでのスクレイピング防止技術も回避できます。
OctoparseでJSON抽出の使い方は?
このチュートリアルでは、JSONを介して、コストコの商品一覧ページからデータを取得します。
1. JSONファイルの含むURLを取得する必要があります。
- ChromeブラウザーでWebページを開きます。https://www.costco.co.jp/Hot-Buys/c/HotBuy?sort=price-asc
- ページを右クリックして、「検証(Inspect)」を選択します。
- 「Network」をクリックし、「Fetch/XHR」を選択します。
-
ページを更新し、「Fetch/XHR」に読み込まれて表示されるURLにJSONファイルが含まれているかどうかを確認します。
URLにJSONファイルが含まれる場合、「Headers」の「content-type」に「json」がリストされます。
- スクレイピングするデータを含むJSONファイルを見つけます。
「Preview」を選択して、JSONデータを観覧できます。この場合、製品情報を取得するため、製品情報を含むJSONファイルが必要です。
- 対象となるJSONファイルを含むURLをコピーします
2. OctoparseでJSONファイルを含むURLを開きます。
- 新規作成→カスタマイズタスクにJSONファイルのURLを貼り付けます
- 「Webページを開く」のステップ設定
を開く、「JSON」のボックスにチェックを入れて、「保存」をクリックしてページを更新します。JSONデータはツリー構造で見ることができ、必要に応じて展開または縮小できます。
3. 抽出するデータを選択し、実行します。
- まず、ツリー構造内のデータを選択します。
例として、「name」と「formattedValue」を選択します。
- 「データを抽出する」をクリックすると、Octoparseは自動的にループアイテムを生成し、ツリー内のすべての「name」と「formattedValue」を取得します。
- 左上の「実行」をクリックし、タスク実行モードを選択すると、データが抽出されます。