读取波士顿港船舶的实时网络数据
此示例演示如何从网站抓取最新的实时数据并显示它。在示例中,您修改了 MATLAB Analysis 和 MATLAB Visualization App 提供的代码模板之一。该示例使用来自 MarineTraffic 网站的数据,该网站提供有关波士顿港交通的信息。
从模板代码创建 MATLAB Analysis 脚本
要抓取波士顿港船只的网络数据,您可以使用代码模板编写 MATLAB® 脚本。
转至 ThingSpeak 中的 Apps 选项卡,然后选择 MATLAB Analysis。点击 New,选择 Read live web data for vessels at the Port of Boston,然后点击 Create。

读取网络数据
MATLAB Code 字段已预先填充代码,用于读取实时网络数据并计算船只数量。
1) 指定访问波士顿港船舶信息的 URL。使用 urlFilter 读取目标字符串后面出现的前两个数字。该函数识别页面源代码中的目标字符串,并返回紧随其后出现的数字。
url = 'https://www.marinetraffic.com/en/ais/details/ports/131/USA_port:BOSTON'; filteredData = urlfilter(url,'Vessels in Port:',2);
2) 显示抓取网站数据的结果。在此示例中,记录并显示了两个元素。
display(filteredData(1),'Vessels in Port');89
display(filteredData(2),'Expected Arrivals');8
3) 点击 Save and Run 来执行您的代码。Output 字段显示您的结果。

将数据写入通道
1) 通过将结果写入私有通道来存储结果。要创建 ThingSpeak 通道,转至 Channels 选项卡并选择 My Channels。点击 New Channel。选中相应的复选框,并输入这些通道设置值:
Name -
Vessels at the Port of BostonField 1 -
Vessels in PortField 2 -
Expected Arrivals

点击 Save Channel。
2) 在 MATLAB Code 字段中,设置用于写入私有通道的变量。将 writeChannelID 和 writeAPIKey 的给定值替换为您的值。您可以在页面右侧的 Channel Info 面板中找到通道 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) 点击 Save and Run 来执行您的代码。您的 ThingSpeak 通道中的每个图都填充了一个代表网站数据中字段的点。您可以通过点击页面右侧 Channel Info 面板中的通道链接来访问您的通道。
5) 几分钟后再次点击 Save and Run,以使用另一个数据点更新您的通道。
