ホームページ >バックエンド開発 >Python チュートリアル >Python プログラミング スキル: Baidu Map API に基づいて POI 分類情報を取得する方法
Python プログラミング スキル: Baidu Map API に基づいて POI 分類情報を取得する方法
はじめに:
地理情報関連アプリケーションを開発する場合、多くの場合、POI (Point of Interest) を取得する必要があります。特定の分野の機密情報。 Baidu Map API は、この情報を取得するための豊富な機能を提供します。この記事では、Python プログラミング言語と Baidu Map API を使用して名所分類情報を取得する方法を紹介し、実用的なコード例を示します。
準備
Baidu Map API を使用する前に、まず Baidu 開発者アカウントを申請し、アプリケーションを作成する必要があります。次に、API にアクセスできるようにアプリケーション キー (AK) を取得します。コードを書き始める前に、Python のリクエスト ライブラリがインストールされていることを確認してください。次のコマンドを使用してインストールできます:
pip install requests
2.1 リクエスト URL の構築
最初に、クエリ対象のパラメータを含む URL を構築する必要があります。以下は、URL を構築するサンプル コードです。
import requests def build_url(query, region): base_url = "http://api.map.baidu.com/place/v2/search?" ak = "your_api_key" # 替换成你自己的API密钥 output = "json" url = f"{base_url}query={query}®ion={region}&output={output}&ak={ak}" return url
上記のコードでは、f-string を使用して URL を構築します。ここで、クエリとリージョンはクエリされるパラメータです。 「your_api_key」を独自の API キーに置き換える必要があります。
2.2 リクエストの送信
次に、リクエスト ライブラリを使用して HTTP GET リクエストを送信し、応答結果を取得します。以下は、リクエストを送信するためのサンプル コードです。
def send_request(url): response = requests.get(url) data = response.json() return data
取得した応答結果については、.json() メソッドを使用して Python 辞書オブジェクトに変換できます。
応答結果の分析
取得された API 応答結果には、クエリされた領域の POI 分類情報が含まれます。以下は、応答結果を解析するためのサンプル コードです。
def parse_response(data): if data.get("status") == 0: for result in data.get("results"): name = result.get("name") address = result.get("address") print(f"名称:{name},地址:{address}") else: print(f"请求失败,错误信息:{data.get('message')}")
上記のコードでは、最初に応答結果のステータス コードが 0 であるかどうかを判断します。そうであれば、結果リストを走査して名前を取得します。各POI情報と住所を入力し、印刷してください。ステータス コードが 0 でない場合は、エラー メッセージが出力されます。
完全なコード例
以下は、上記の方法を使用して POI 分類情報を取得する完全なコード例です。
import requests def build_url(query, region): base_url = "http://api.map.baidu.com/place/v2/search?" ak = "your_api_key" # 替换成你自己的API密钥 output = "json" url = f"{base_url}query={query}®ion={region}&output={output}&ak={ak}" return url def send_request(url): response = requests.get(url) data = response.json() return data def parse_response(data): if data.get("status") == 0: for result in data.get("results"): name = result.get("name") address = result.get("address") print(f"名称:{name},地址:{address}") else: print(f"请求失败,错误信息:{data.get('message')}") def main(): query = "餐厅" # 要查询的POI分类 region = "北京市" # 区域名称 url = build_url(query, region) data = send_request(url) parse_response(data) if __name__ == "__main__": main()
コードでは、メイン() この関数はプログラムのエントリ ポイントとして機能し、クエリおよび領域パラメータは必要に応じて変更できます。コードを実行すると、クエリ領域にレストランの名前と住所の情報が出力されます。
概要:
Python プログラミング言語と Baidu Map API を使用すると、POI 分類情報を簡単に取得できます。この記事では、Baidu Map API を使用してリクエストを送信し、応答結果を解析する方法を紹介し、完全なコード例を示します。読者は、独自のニーズに応じて調整および拡張し、より多くの機能を実現できます。
以上がPython プログラミング スキル: Baidu Map API に基づいて POI 分類情報を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。