Python3 NS Train api script
You can find the Repro at Bitbucket
and the install information on Pypi
The API's return the data in a Dictionary. You can loop through the Dict as any Dict.
See examples about how to get information.
All api's can write warnings, errors and debug information to log files
Just use
import logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.DEBUG)
More information about logging
De webservice voor de storingen en werkzaamheden maakt het mogelijk informatie op te vragen over storingen en/of werkzaamheden.
from py_nsapi import storingen
user = "yourusername"
pwd = "yournotsoeasytoguesspassword"
station = [a station, can be empty]
actual = [true or false]
unplanned = [true or false] #false = the oposite of what you think! :-) you get unplanned
ns = reisadviezen(user,pwd)
ns = storingen(user,pwd)
nsStoringen = ns.getData(station, actual, unplanned)
nsStoringen is a Dict
De webservice voor de reisadviezen maakt het mogelijk de NS Reisplanner aan te roepen voor een treinreis van een station naar een station. Een reisadvies bestaat uit meerdere reismogelijkheden, zodat de treinreiziger hier een keuze uit kan maken. Een reismogelijkheid bevat zowel geplande als actuele informatie.
from py_nsapi import reisadviezen
user = "yourusername"
pwd = "yournotsoeasytoguesspassword"
ns = reisadviezen(user,pwd)
fromST = "GS"
toST = "RTB"
triplist = ns.getData(fromST, toST)
De webservice voor de stationslijst maakt het mogelijk om alle stationsnamen op te vragen.
from py_nsapi import stations
user = "yourusername"
pwd = "yournotsoeasytoguesspassword"
ns = stations(user, pwd)
nsStations = ns.getData()
De webservice voor de actuele vertrektijden maakt het mogelijk om voor een station een actueel overzicht op te vragen van alle vertrekkende treinen voor het komende uur.
from py_nsapi import vertrektijden
user = "yourusername"
pwd = "yournotsoeasytoguesspassword"
ns = vertrektijden(user,pwd)
fromST = "GS"
triplist = ns.getData(fromST)
De webservice voor de prijzen maakt het mogelijk voor een treinreis de bijbehorende prijsinformatie op te vragen.
Voor gebruik van de webservice is aparte autorisatie vereist. Deze autorisatie wordt verleend na ontvangst van een getekend contract. Dit contract is op te vragen via nsr.api@ns.nl.
from py_nsapi import prijzen
user = "yourusername"
pwd = "yournotsoeasytoguesspassword"
ns = prijzen(user,pwd)
fromST = "GS"
toST = "RTB"
viaST = ""
dateTime= ""
data = ns.getData(fromST, toST, viaST, dateTime)
elements = data['VervoerderKeuzes']
print(elements) #dict
Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
-The licensor cannot revoke these freedoms as long as you follow the license terms.-
De getoonde prijsinformatie is niet afkomstig van NS reizigers B.V. of een hieraan gelieerde partij. Jegens NS Reizigers B.V. of daaraan gelieerde partijen, kunnne dan ook geen rechten worden ontleend met betrekking tot deze prijsinformatie
Stefan de Konink who gave me a complete new insight with his python api