Получает доступ ко всем данным из RDW API, добавляя токен приложения.

Для школьного проекта мне нужно работать с информацией, которую мне дает API. Я выбираю RDW API (информация о голландском номерном знаке). Сейчас у меня есть доступ только к 1000 номерным знакам, но я хочу получить от них все.

import urllib.request
import json

url = "https://opendata.rdw.nl/resource/m9d7-ebf2.json?"

json_data_request = urllib.request.urlopen(url)
json_data = json.loads(json_data_request.readall().decode("utf-8"))

print(len(json_data))

С помощью этого кода я могу получить доступ только к 1000 номерным знакам. Что я хочу сделать, так это (kenteken=licenceplate):

def locu_search(kenteken):
    api_key = "CYcaHHuuvFfG2apjnvns8Ob41"
    url = "https://opendata.rdw.nl/resource/m9d7-ebf2.json?$$app_token=" + api_key
    after_url = "kenteken=" + kenteken
    final_url = url + after_url
    json_data_request = urllib.request.urlopen(final_url)
    json_data = json.loads(json_data_request.readall().decode("utf-8"))
    #print all info with that licenceplate
kenteken = input("Licenceplate:")
locu_search(kenteken)

Что должен делать этот код:

  1. попросить номерной знак.
  2. перейдите к функции со значением, которое вы ввели.
  3. распечатать всю информацию об этом номерном знаке (пока не здесь, потому что я не могу заставить предыдущие строки не работать)

Я искал, но не смог заставить это работать, с какой информацией я могу работать?


person Teted    schedule 27.10.2015    source источник


Ответы (1)


Есть несколько вещей, которые вам нужно изменить в вашем коде:

  • Вам нужно добавить амперсанд (&) между url и after_url, чтобы разделить эти два параметра: final_url = url + "&" + after_url
  • Если вы хотите получить более 1000 записей за один запрос, вам необходимо использовать параметры пейджинга $limit и $offset: https://dev.socrata.com/docs/paging.html
person chrismetcalf    schedule 27.10.2015
comment
Кроме того, для opendata.rdw.nl вам необходимо зарегистрировать токен приложения на их сайте: opendata.rdw.nl/profile/app_token - person chrismetcalf; 27.10.2015
comment
Эй, спасибо за вашу помощь. Я думал, что думал о правильном токене приложения, но это не так. Без тебя я бы его не увидел. :). А теперь остальные части, я и моя команда готовы к работе. - person Teted; 27.10.2015