Konsolda curl kullanarak, doğrudan web servis adresini yazdığımızda zaten tüm verileri getiriyor:
1 2 |
$ curl -s 'http://api.openweathermap.org/data/2.5/weather?q=Bilecik,uk&appid=2de143494c0b295cca9337e1e96b00e0' {"coord":{"lon":29.98,"lat":40.14},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"cmc stations","main":{"temp":273.15,"pressure":1019,"humidity":96,"temp_min":273.15,"temp_max":273.15},"wind":{"speed":6.2,"deg":330},"snow":{"3h":0.094},"clouds":{"all":75},"dt":1453209600,"sys":{"type":3,"id":6057,"message":0.0036,"country":"TR","sunrise":1453180720,"sunset":1453215796},"id":750598,"name":"Bilecik","cod":200} |
Bunu daha düzgün görüntülemek için kullanılabilecek olan birçok yöntemden birisi; python’un json modülüdür. Alttaki örnek komutun sonundaki python -mjson.tool kısmına dikkat:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
murat@murat:~$ curl -s 'http://api.openweathermap.org/data/2.5/weather?q=Bilecik&appid=2de143494c0b295cca9337e1e96b00e0' | python -mjson.tool { "base": "cmc stations", "clouds": { "all": 75 }, "cod": 200, "coord": { "lat": 40.14, "lon": 29.98 }, "dt": 1453209600, "id": 750598, "main": { "humidity": 96, "pressure": 1019, "temp": 273.15, "temp_max": 273.15, "temp_min": 273.15 }, "name": "Bilecik", "snow": { "3h": 0.094 }, "sys": { "country": "TR", "id": 6057, "message": 0.0036, "sunrise": 1453180720, "sunset": 1453215796, "type": 3 }, "weather": [ { "description": "broken clouds", "icon": "04d", "id": 803, "main": "Clouds" } ], "wind": { "deg": 330, "speed": 6.2 } } |
JSON biçimindeki bu yapısal veri seti içerisinden bir alanın değeri ile ilgileniyorsak, o zaman da Ubuntu deposunda olan jq paketini kurabiliriz. Altta ikinci satırdaki örnek komutun sonundaki jq '.main.humidity' kısmına dikkat:
1 2 3 |
$ sudo aptitude install jq $ curl -s 'http://api.openweathermap.org/data/2.5/weather?q=Bilecik&appid=2de143494c0b295cca9337e1e96b00e0' | jq '.main.humidity' 90 |