Gå til innhold

alexanderh89

Medlemmer
  • Innlegg

    5
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av alexanderh89

  1. Og slik kan få en dict av XML-responsen fra nvdb:

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import requests
    import xml.etree.cElementTree as et
    
    def nvdb():
    req = requests.get('https://www.vegvesen.no/nvdb/api/datakatalog/', verify=False, headers={'ACCEPT':'application/vnd.vegvesen.nvdb-v1+xml'})
    r = (req.text)
    out = (et.fromstring(r))
    return out
    
    for i in nvdb().iter('ressurs'):
    if i.attrib:
    	out = {
    		'uri': i.attrib['uri'],
    		'rel': i.attrib['rel']
    		}
    	print(out)
    

     

    Det finnes nok enklere og bedre måter å gjøre det på, men dette er kun et eksempel.

     

    Slik ser det ut:

    $ python client.py
    {'uri': '/datakatalog/objekttyper', 'rel': 'vegobjekt-typer'}
    {'uri': '/datakatalog/objekttyper/{vegobjekt-type-id}', 'rel': 'vegobjekt-type-definisjon'}
    {'uri': '/datakatalog/egenskapstype/{egenskaps-id}', 'rel': 'egenskaps-type-definisjon'}
    

  2. Her har du en veldig enkel kodesnutt i python med requests-biblioteket.

    Kort fortalt: Vi sender en GET-request til vegvesenets api der vi sier at vi aksepterer deres mediaformat. Vi mottar så data fra apiet i dette formatet, da enten i xml eller json.

     

    #!/usr/bin/python
    import requests
    req = requests.get('https://www.vegvesen.no/nvdb/api/', verify=False, headers={'ACCEPT':'application/vnd.vegvesen.nvdb-v1+json'})
    print req.status_code
    print req.text
    

     

    Denne kodesnutten gir meg dette resultatet:

    $ python nvdb.py
    200
    {"ressurser":[{"rel":"definisjoner","uri":"/datakatalog"},{"rel":"vegobjekter","uri":"/vegobjekter"},{"rel":"sokegrensesnitt","uri":"/sok"},{"rel":"vegreferanse","uri":"/vegreferanse"}]}
    

×
×
  • Opprett ny...