为什么 REST bing 地图没有返回完整地址?

问题描述 投票:0回答:1

我正在编写一个程序,该程序可以获取市政厅位置/查询搜索的数据框,并在另一列中返回它们的地址。问题是街道地址和邮政编码没有显示,只有城市名称、州代码和国家/地区。当我在必应地图上搜索查询时(例如:City Hall Agoura Hills, City of Agoura Hills, Los Angeles, CA)我能够看到地址。任何帮助表示赞赏。


import requests
import pandas as pd

def get_address(row):
    api_key = "SAMPLE_API_KEY"
    base_url = f"https://dev.virtualearth.net/REST/v1/Locations"
    place_name = row['Place Name']
    query = f"{place_name}, USA"
    params = {
        'query': query,
        'key': api_key,
        'includeNeighborhood': 1
    }
    response = requests.get(base_url, params=params).json()

    if response['resourceSets'][0]['estimatedTotal'] == 0:
        return 'No address found'
    else:
        address = response['resourceSets'][0]['resources'][0]['address']
        street_number_name = address.get('AddressLine', 'N/A')
        city = address.get('locality', 'N/A')
        state = address.get('adminDistrict', 'N/A')
        postal_code = address.get('PostalCode', 'N/A')
        country = address.get('countryRegion', 'N/A')
        return f"{street_number_name}, {city}, {state} {postal_code}, {country}"

#Example DataFrame
df = pd.DataFrame({
    'Place Name': ['City Hall Avondale, City of Avondale, Maricopa, AZ', 'City Hall Agoura Hills, City of Agoura Hills, Los Angeles, CA', 'City Hall Ontario, City of Ontario, San Bernardino, CA']
})

df['Address'] = df.apply(get_address, axis=1)

print(df.to_string())

输出:

                                                      Place Name                                     Address
0             City Hall Avondale, City of Avondale, Maricopa, AZ        N/A, Avondale, AZ N/A, United States
1  City Hall Agoura Hills, City of Agoura Hills, Los Angeles, CA    N/A, Agoura Hills, CA N/A, United States
2         City Hall Ontario, City of Ontario, San Bernardino, CA  N/A, San Bernardino, CA N/A, United States
python rest web-crawler maps bing-maps
1个回答
0
投票

您是否尝试过使用更具体的详细信息(例如街道地址或邮政编码)可以更准确地定位?例如:

query = f"{place_name}, {street_address}, {city}, USA"
© www.soinside.com 2019 - 2024. All rights reserved.