小智 11
我认为使用 API 意味着如果数据更新,您将收到更改,而将其导出为 .csv 意味着内容将不再更改。
您是正确的,如果您将 csv 下载到您的计算机,则该 csv 文件将不再更新。
API 是您可以调用的东西——在这种情况下,您可以调用 API,说“嘿,您有 xxx 的最新数据吗?”,您将收到有关您所询问内容的最新信息。但这并不意味着,当有新更新时,此站点会通知您 - 您必须不断调用 API(每小时、每天等)以查看是否有任何更改。
我的问题是:如何使用这个 API 代码来显示导出 .csv 文件时会得到的同一个表。
你会:
您会使用数据库来提取这些信息吗?什么样的数据库以及如何将 API 链接到数据库?
您不一定需要数据库来提取信息,尽管将最终数据放入数据库会很好。
您首先需要某种方式来“调用 REST API”。有很多方法可以做到这一点 - 使用 Shell 脚本、使用 Python、使用 Excel VBA 等。
我知道这很难形象化,所以这里是第 1 步的示例,您可以在其中检索信息。
尝试在 Chrome 浏览器的地址栏中输入以下 URL(取自您向我们展示的站点),然后点击输入
http://opendata.brussels.be/api/records/1.0/search/?dataset=associations-俱乐部运动
看看它如何返回大量带有许多括号和逗号的文本?您基本上已经要求该站点为您提供一些数据,这是他们返回的响应(不同浏览器的工作方式不同 - IE 要求您将响应下载为 .json 文件)。您基本上已经调用了 API。
要更清晰地查看这些数据,请打开 Chrome 浏览器的开发者工具,然后输入以下 JavaScript 代码
var url = 'http://opendata.brussels.be/api/records/1.0/search/?dataset=associations-clubs-sportifs';
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.onload = function() {
if (xhr.status === 200) {
// success
console.log(JSON.parse(xhr.responseText));
} else {
// error
console.log(JSON.parse(xhr.responseText));
}
};
xhr.send();
Run Code Online (Sandbox Code Playgroud)
当您按 Enter 键时,会返回一个响应,指出“对象”。如果您单击箭头,您会看到这是我们刚刚看到的数据的更清晰版本 - 更具人类可读性。
在本例中,我使用 JavaScript 来检索数据,但您可以使用任何您想要的代码。您可以继续使用 JavaScript 来解密数据、操作它并将其推送到数据库中。
kintone是一个在线云数据库,您可以在其中自定义它以运行 JavaScript 代码,并将数据存储在他们的数据库中,因此您将像下图一样在线存储数据。这只是您可以使用的数据库的一个示例。
还有其他云服务允许您将不同服务的 API 端点相互连接,例如 IFTTT 和 Zapier,但我不确定它们是否与开放数据连接。
归档时间: |
|
查看次数: |
23221 次 |
最近记录: |