Main Content

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

ボストン港の船舶のライブ Web データを読み取る

この例では、Web サイトから最新のライブ データを取得して表示する方法を示します。この例では、 MATLAB AnalysisアプリとMATLAB Visualizationsアプリによって提供されるコード テンプレートの 1 つを変更します。この例では、ボストン港の交通情報を提供する MarineTraffic Web サイトのデータを使用します。

テンプレート コードからMATLAB Analysisスクリプトを作成する

ボストン港の船舶で Web データをスクレイピングするには、コード テンプレートを使用してMATLAB®スクリプトを作成できます。

ThingSpeakの [Apps] タブに移動し、 [MATLAB Analysis]を選択します。「新規」をクリックし、 Read live web data for vessels at the Port of Bostonを選択し、「作成」をクリックします。

「Webデータを読む」

「MATLABコード」フィールドには、ライブ Web データを読み取り、船舶の数をカウントするためのコードが事前に入力されています。

1) ボストン港の船舶情報にアクセスするための URL を指定します。urlFilterを使用して、ターゲット文字列の後に表示される最初の 2 つの数字を読み取ります。この関数は、ページのソース コード内のターゲット文字列を識別し、その直後に表示される数値を返します。

url = 'https://www.marinetraffic.com/en/ais/details/ports/131/USA_port:BOSTON';
filteredData = urlfilter(url,'Vessels in Port:',2);

2) Web サイトのデータをスクレイピングした結果を表示します。この例では、2 つの要素が記録および表示されます。

display(filteredData(1),'Vessels in Port');
    89
display(filteredData(2),'Expected Arrivals');
     8

3) 「保存して実行」をクリックしてコードを実行します。「出力」フィールドに結果が表示されます。

データをチャネルに書き込む

1) 結果をプライベートチャネルに書き込んで保存します。ThingSpeakチャネルを作成するには、チャネル タブに移動し、 マイチャネル を選択します。「新しいチャネル」をクリックします。対応するチェックボックスを選択し、次のチャネル設定値を入力します。

  • 名前 — Vessels at the Port of Boston

  • フィールド 1 — Vessels in Port

  • フィールド 2 — Expected Arrivals

「チャネルを保存」をクリックします。

2) [MATLABコード] フィールドで、プライベートチャネルに書き込むための変数を設定します。writeChannelIDおよびwriteAPIKeyに指定された値を実際の値に置き換えます。チャネルID と API キーは、ページの右側にある「チャネル情報」パネルで確認できます。

% Replace the [] with ID of the channel to write data to:
writeChannelID = 17504;
% Enter the write API key between the ''.
writeAPIKey = '23ZLGOBBU9TWHG2H';

3) 船舶データをチャネルに書き込みます。

thingSpeakWrite(writeChannelID,filteredData,'Writekey',writeAPIKey);

4) 「保存して実行」をクリックしてコードを実行します。ThingSpeakチャネルの各グラフには、Web サイト データのフィールドを表す 1 つのポイントが入力されます。ページの右側にある「チャネル情報」パネルのチャネルリンクをクリックすると、チャネルにアクセスできます。

5) 数分後にもう一度「保存して実行」をクリックし、別のデータポイントでチャネルを更新します。

参考

関数

関連する例

詳細