このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
ボストン港の船舶のライブ 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) 数分後にもう一度「保存して実行」をクリックし、別のデータポイントでチャネルを更新します。