JSONからデータをスクレイピングする方法
フォローするバージョン7.2では、「JSONからの抽出」という機能をリリースしました。JSONを介して、より高速で信頼性の高いデータ抽出を行えるようになりました。このチュートリアルでは、この機能の使い方を紹介します。
JSONとは?
JSONはJavaScript Object Notationの略で、軽量のデータ交換フォーマットです。人間にとって読み書きが容易で、マシンにとっても簡単にパースや生成を行なえる形式です。
なぜJSON抽出を使うのか?
Octoparseが画像やその他の情報を読み込む必要がないため、データ抽出が高速化
一部のWebサイトでのスクレイピングの制限が少ない
OctoparseでJSON抽出の使い方は?
このチュートリアルでは、簡単な例挙げて、JSONを介して、Walmartの商品一覧ページからデータを取得します。
1. まず、JSONファイルの含むURLを取得する必要があります。
- ChromeブラウザーでWebページを開きます
- ページを右クリックして、「検証(Inspect)」を選択します
- 「Network」をクリックし、「XHR」を選択します
- ページを更新し、「XHR」に読み込まれて表示されるURLにJSONファイルが含まれているかどうかを確認します
URLにJSONファイルが含まれる場合、「Headers」の「content-type」に「json」がリストされます。
- スクレイピングするデータを含むJSONファイルを見つけます
「Preview」を選択して、JSONデータを観覧できます。この場合、製品情報を取得するため、製品情報を含むJSONファイルが必要です。
- 対象となるJSONファイルを含むURLをコピーします
URLは、「Headers」にある「Request URL」です。
正しいURLを識別する方法を見てみましょう。
2. OctoparseでJSONファイルを含むURLを開きます。
- カスタマイズモードにJSONファイルのURLを貼り付けます
(WalmartのJSONファイルのURLが無効になるから、今回はほかのURLを使います。)
https://chemrxiv.org/api/institutions/259/items?types=&licenses=&orderBy=published_date&orderType=desc&limit=40&offset=0&search=&categories=&itemTypes=articles
- 「JSONからの抽出」のボックスにチェックを入れて、「OK」をクリックしてページを更新します。JSONデータはツリー構造で見ることができ、必要に応じて展開または縮小できます。
3. 抽出するデータを選択し、実行します。
- ツリー構造内のデータを選択します
例として「title」と「published Date」を選択します。
- 「データ抽出」をクリックすると、Octoparseは自動的にループアイテムを生成し、ツリー内のすべての「title」と「published Date」を取得します。
- 左上の「抽出開始」をクリックし、抽出モードを選択すると、データが抽出されます。
ヒント! JSONリクエストを設定する場合は、最初に「JSONからの抽出」をチェックしてから、下部のオプションを参照してください。 |