2016-10-15 4 views
0

Пожалуйста, предположите, что я ничего не знаю о каких-либо вещах, о которых я буду упоминать, потому что я действительно этого не делаю.API для базы данных?


Большинство OpenData сайтов имеют возможность экспорта представленный файл либо, например, в .csv или .json форматов (Example). Они также всегда имеют вкладку API (Example API).

Я предполагаю, что использование API будет означать, что если данные будут обновлены, вы получите изменение, тогда как экспортировать его как .csv означает, что контент больше не будет изменен.

Мои вопросы: как использовать этот код API для отображения той же таблицы, которую можно получить при экспорте CSV-файла.

Вы бы использовали базу данных для извлечения этой информации? Какая база данных и как вы связываете API с базой данных?

ответ

2

Я полагаю, используя API будет означать, что если данные обновляются вас получит изменения в то время как экспорт как .csv будет означать, что содержание не будет изменено больше.

Вы верны в том смысле, что если вы загружаете csv на свой компьютер, этот файл csv больше не будет обновляться.
API - это то, что вы бы назвали - в этом случае вы можете вызвать API, сказав: «Эй, у вас есть последние данные о xxx?», И вам будет предоставлена ​​последняя информация о том, что вы просили. Это, однако, не означает, что этот сайт уведомит вас, когда появится новое обновление - вам придется продолжать звонить API (каждый час, каждый день и т. Д.), Чтобы увидеть, есть ли какие-либо изменения.

Мои вопросы: как один использовать этот API код для отображения же таблицы можно было бы получить при экспорте файла в формате CSV.

Вы:

  1. Вызвать API из серверного кода, или облачный сервис
  2. Пусть сервер кода или облако службы расшифровывать (или «Разобрать») ответ
  3. Использование расшифрованного ответ создать таблицу, сделанную из HTML или поместить его в базу данных

Wou Если вы используете базу данных для извлечения этой информации? Какая база данных и как вы связываете API с базой данных?

Вам не обязательно нужна база данных для извлечения информации, хотя в базе данных было бы неплохо разместить окончательные данные внутри.
Вам сначала понадобится какой-то способ «вызвать REST API». Существует много способов сделать это - используя Shell Script, используя Python, используя Excel VBA и т. Д.
Я понимаю, что это трудно представить, так что вот пример шага 1, где вы можете получить информацию.
Попробуйте поместить в поле ниже URL (взято с сайта вы показали нам) в адресной строке вашего Chrome браузера и нажмите ввод http://opendata.brussels.be/api/records/1.0/search/?dataset=associations-clubs-sportifs

Посмотрите, как он отдает много текста с большим количеством скобок и запятых? Вы в основном попросили сайт предоставить вам некоторые данные, и это ответ, который они ответили (разные браузеры работают по-другому - 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(); 

Когда вы нажмете ввести, ответ вернется, заявив, что «объект». Если вы щелкнете по стрелкам, вы увидите, что это более чистая версия данных, которые мы только что видели - более читаемые человеком.

enter image description here

В этом случае, я использовал JavaScript для получения данных, но вы можете использовать любой код, который вы хотите. Вы можете использовать JavaScript для расшифровки данных, управления им и ввода его в базу данных.

kintone - это онлайн-облачная база данных, в которой вы можете настроить ее для запуска кодов JavaScript и хранить данные в своей базе данных, чтобы вы сохраняли данные в Интернете, как показано на рисунке ниже. Это всего лишь один пример базы данных, которую вы можете использовать.

enter image description here

Есть и другие облачные сервисы, которые позволяют соединить конечные точки API различных служб друг с другом, как IFTTT и Zapier, но я не уверен, если они соединяются с открытыми данными.

0

Связанная с вами страница показывает, что API возвращает значения как объект JSON. Чтобы получить доступ к данным, вы можете просто отправить соответствующий HTTP-запрос, и ответ будет запрошенными данными как JSON. Вы можете отправлять такие запросы через браузер, если хотите.

Большинство языков разрешают манипулировать объектами JSON про грамматически, если вам нужно выполнять работу с данными.

+0

Возможно, вы знаете удобный инструмент, с помощью которого я мог бы использовать для извлечения значений API в базу данных/таблицу без кодирования? Просто вставив API в текстовое поле и нажав на волшебную кнопку, которая создает таблицу? – yannick

Смежные вопросы