0
点赞
收藏
分享

微信扫一扫

爬取百度地图经纬度

import requests
import json
import xlrd
import xlwt


# 获取百度地图api函数
def getAPI(address):
url = 'https://api.map.baidu.com/geocoding/v3/'
params = {
"address": address, # 点位地址
"ak": "*", # 百度密钥
"city": "上海市",
"output": "json" # 输出结果设置为json格式
}

res = requests.get(url=url, params=params)
jd = json.loads(res.text) # 将json格式转化为Python字典
return jd

# 读取点位表格信息
def excel(path1):
wb = xlrd.open_workbook(path1) # 打开Excel文件
sheet = wb.sheet_by_name('Sheet1') # 通过excel表格名称(rank)获取工作表
dat = [] # 创建空list

for a in range(sheet.nrows): # 循环读取表格内容(每次读取一行数据)
cells = sheet.row_values(a) # 每行数据赋值给cells
dat.append(cells)

return dat

# 将查询出来的数据写入表格
def backexecl(list1):

workbook = xlwt.Workbook()

sheet = workbook.add_sheet("sheet0")
row = 0
column = 0

# a.insert(0, table_zd)
# 创建表头
for y in range(1, len(list1)+1):
if row <= len(list1):

for i in range(0, 3):
sheet.write(row, column, list1[y - 1][i])
column += 1
row += 1
column = 0

# 保存
workbook.save("爬取百度地图经纬度信息.xls")
print("完成")

if __name__ == '__main__':
path1 = "1.xlsx"
biao = excel(path1)
list1 = []
for i in biao:
# print(i[1])
list2 = []
data = getAPI(i[1])
list2.append(i[1])
# print(data)
list2.append(data["result"]["location"]["lng"])
list2.append(data["result"]["location"]["lat"])
list1.append(list2)
# print(list1)
backexecl(list1)
举报

相关推荐

0 条评论