2016-05-17 10 views
0

私は最終的にGUIを構築するために、PythonとJasonを使ってAPI(特に世界銀行API)にどのように問い合わせることができるかを学ぶ2年生のコンピュータサイエンス学生です。最初は、サイトから情報を取得してコンソールに出力しようとしています。私はこれを行う方法を私に教えることができるressources(本、サイト)を探しています。Python、JSON、ウェブサイトのAPI

+0

これは、世界銀行のAPI、または一般的なjson APIに関するものですか?いずれにしても、始めるのに適した場所は[世界銀行の公式文書](http://data.worldbank.org/developers/api-overview)です。 –

+0

これはjson APIに関する一般的なものです – IntegrateThis

+0

'import requests'、' r = requests.get( "some.url/file.json") '、' my_dict = r.json() ' – L3viathan

答えて

0

あなたはこのようなAPIについて間違った考えを持っていると思います。 APIで作業するためには本を読む必要はありませんが、これはロケット科学ではありません。あなたがやっているのは、HTTPリクエストを通じてサーバーから何らかのデータを要求することだけです。通常のウェブサイトをダウンロードすることとほとんど変わりません。最も単純なケースでは、APIを用いたものを、コードのわずか2行で行うことができます。

import urllib2 
response= urrlib2.urlopen('url.to/api').read() 

あなたの場合は、URLがhttp://api.worldbank.org/countries?per_page=10&incomeLevel=LICようなものになるだろう。

パラメータをAPIに渡す必要があることがあります。これは通常query strings - &で区切られたparameter=valueのペアを使用して行われます。上記のURLには、per_page=10incomeLevel=LICの2つがあります。もちろん、使用可能なパラメータは使用しているAPIによって異なります。このため、APIのドキュメントを読むことが重要です。ドキュメントを読むと、サーバーはデフォルトでXML形式のレスポンスを送信し、http://api.worldbank.org/countries?per_page=10&incomeLevel=LIC&format=jsonというパラメータをformat=jsonに渡す必要があります。

最後に、サーバーの応答を解析する必要があります。 JSON形式でデータをリクエストしているので、次のデータを使用できます。

import json 
parsed= json.loads(response) 

これだけです。単なる5行のコード。

import urllib2 
import json 

# request data from the API 
response= urllib2.urlopen('http://api.worldbank.org/countries?per_page=10&incomeLevel=LIC&format=json') 

# parse the response 
response= json.load(response) 

# do something with it 
print response 
関連する問題