Main Content

本页采用了机器翻译。点击此处可查看最新英文版本。

阅读波士顿港船舶的实时网络数据

此示例演示如何从网站抓取最新的实时数据并显示它。在示例中,您修改 MATLAB Analysis 和 MATLAB Visualizations App 提供的代码模板之一。该示例使用 MarineTraffic 网站的数据,该网站提供有关波士顿港的交通信息。

从模板代码创建 MATLAB 分析脚本

要抓取波士顿港船舶上的 Web 数据,您可以使用代码模板编写 MATLAB® 脚本。

转到 ThingSpeak 中的 App 选项卡并选择 MATLAB Analysis。点击“新建”,选择Read live web data for vessels at the Port of Boston,然后点击“创建”。

读取网络数据

“MATLAB 代码”字段预先填充了用于读取实时网络数据并计算船只数量的代码。

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) 点击“保存并运行”执行代码。“输出”字段显示您的结果。

将数据写入通道

1) 通过将结果写入私有通道来存储结果。要创建 ThingSpeak通道,请转至“通道”选项卡并选择“我的通道”。点击“新建通道”。选中相应的复选框,然后输入以下通道设置值:

  • 名称 — Vessels at the Port of Boston

  • 字段 1 — Vessels in Port

  • 字段 2 — Expected Arrivals

点击“保存通道”。

2) 在“MATLAB 代码”字段中,设置用于写入您的私有通道的变量。将 writeChannelIDwriteAPIKey 的给定值替换为您的值。您可以在页面右侧的“通道信息”面板中找到通道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通道中的每个图表都填充有代表网站数据中的字段的单个点。您可以通过点击页面右侧“通道信息”面板中的通道链接来访问您的通道。

5) 几分钟后再次点击“保存并运行”,以使用另一个数据点更新您的通道。

另请参阅

函数

相关示例

详细信息