Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk menggunakan API Peta Baidu untuk melaksanakan fungsi carian bandar dengan menulis program dalam Python?

Bagaimana untuk menggunakan API Peta Baidu untuk melaksanakan fungsi carian bandar dengan menulis program dalam Python?

WBOY
WBOYasal
2023-07-30 19:13:181471semak imbas

Bagaimana untuk menggunakan API Peta Baidu untuk melaksanakan fungsi carian bandar dengan menulis program dalam Python?

Baidu Map ialah perkhidmatan peta yang digunakan secara meluas yang menyediakan fungsi carian dan navigasi lokasi yang berkuasa. Bagi pembangun, menggunakan API Peta Baidu boleh melaksanakan fungsi berkaitan lokasi geografi dengan mudah dalam program mereka sendiri. Artikel ini akan memperkenalkan cara menggunakan Python untuk menulis program dan menggunakan API Peta Baidu untuk melaksanakan fungsi carian bandar.

Pertama, kami perlu mendaftarkan akaun pembangun Peta Baidu dan memohon kunci API. Buat aplikasi pada platform terbuka Peta Baidu, dan kemudian dapatkan AK (Kunci Akses) yang sepadan AK ini akan digunakan dalam program untuk menghantar permintaan HTTP untuk mendapatkan data.

Seterusnya, kita perlu memasang pustaka permintaan Python, yang digunakan untuk menghantar permintaan HTTP dan mendapatkan data yang dikembalikan. Pustaka permintaan boleh dipasang menggunakan arahan berikut:

pip install requests

Kini, kita boleh mula menulis program. Mula-mula, import perpustakaan yang diperlukan:

import requests
import json

Kemudian, tentukan fungsi untuk menghantar permintaan HTTP untuk mendapatkan hasil carian bandar. Fungsi ini menerima nama bandar sebagai parameter dan mengembalikan rentetan JSON hasil carian bandar.

def city_search(city):
    url = "https://api.map.baidu.com/place/v2/search"
    params = {
        "query": city,
        "region": "中国",
        "output": "json",
        "ak": "你的AK"
    }
    response = requests.get(url, params=params)
    return response.text

URl di sini ialah alamat antara muka carian bandar bagi API Peta Baidu, dan param ialah parameter permintaan. Antaranya, pertanyaan mewakili kata kunci carian, wilayah mewakili kawasan carian, output mewakili format data yang dikembalikan, dan ak ialah AK yang kami mohon sebelum ini.

Seterusnya, kami mentakrifkan fungsi untuk menghuraikan rentetan JSON hasil carian bandar dan mencetak nama dan alamat setiap hasil carian.

def parse_results(results):
    json_result = json.loads(results)
    if json_result["status"] == 0:
        for item in json_result["results"]:
            name = item["name"]
            address = item["address"]
            print(f"名称:{name},地址:{address}")
    else:
        print("查询失败")

Di sini, kita mula-mula menghuraikan rentetan JSON ke dalam objek Python, dan kemudian menentukan status hasil yang dikembalikan. Jika status adalah 0, ini bermakna pertanyaan berjaya, kami mengulangi setiap hasil carian dan mendapatkan nama dan alamat untuk dicetak. Jika status bukan 0, pertanyaan gagal dan mesej gesaan yang sepadan dicetak.

Akhir sekali, kami menentukan fungsi utama untuk mendapatkan nama bandar yang dimasukkan oleh pengguna, dan memanggil dua fungsi di atas untuk melaksanakan fungsi carian bandar.

def main():
    city = input("请输入城市名称:")
    results = city_search(city)
    parse_results(results)

if __name__ == "__main__":
    main()

Dalam fungsi utama, kita mula-mula mendapatkan nama bandar yang dimasukkan oleh pengguna, kemudian memanggil fungsi city_search untuk menghantar permintaan HTTP untuk mendapatkan hasil carian, dan akhirnya memanggil fungsi parse_results untuk menghuraikan dan mencetak keputusan.

Pada ketika ini, kami telah melengkapkan semua kod untuk melaksanakan fungsi carian bandar dengan menulis program dalam Python dan menggunakan API Peta Baidu.

Ringkasnya, tidaklah rumit untuk menulis program menggunakan API Peta Baidu dan Python untuk melaksanakan fungsi carian bandar. Dengan menghantar permintaan HTTP untuk mendapatkan rentetan JSON hasil carian bandar, kami boleh menggunakan perpustakaan json Python untuk menghuraikannya dan mengekstrak maklumat utama untuk paparan. Saya harap artikel ini membantu anda, dan saya doakan anda berjaya membangunkan menggunakan API Peta Baidu!

Atas ialah kandungan terperinci Bagaimana untuk menggunakan API Peta Baidu untuk melaksanakan fungsi carian bandar dengan menulis program dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn