Python 调用 百度地图API接口 查询 详细地址名称 [转载]
需要批量 查询文件中的地址在 百度地图中的名称 与坐标
Step 1 . 下载chromedriver
下载地址 : ChromeDriver下载.
注意需要下载和chrome浏览器相同版本的driver 在Chrome浏览器地址栏输入chrome://version/ 回车后页面会显示浏览器版本和安装目录。
比如我是84.0.4147.89需要下载带有84.0.4147版本的driver(win64用户可以安装32版本)
Step 2. 复制chromedriver.exe到chrome的安装目录
打开下载好的压缩包,将里面的chromedriver.exe复制到chrome的安装目录下
Step 3. 添加path路径
打开高级系统设置->环境变量, 找到Path双击
点击右侧的新建按钮,将复制好的chromedriver地址粘贴
Step 4. CMD输入chromedriver验证是否成功安装
Step 5. 执行python代码
将chromedriver.exe拷贝一份到代码的根目录下,修改代码里excel的文件的地址
,运行代码
# coding=utf-8
from openpyxl import Workbook
from openpyxl import load_workbook
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException, NoSuchElementException, WebDriverException
import time
from bs4 import BeautifulSoupdef coordinate():# 创建Chrome浏览器驱动对象driver = webdriver.Chrome()driver.get('http://api.map.baidu.com/lbsapi/getpoint/index.html')# 显式等待,设置timeoutwait = WebDriverWait(driver, 1) # 判断输入框是否加载input = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '#localvalue')))# 判断搜索按钮是否加载submit = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '#localsearch')))#workbook加载wb = load_workbook(u'D:\\Coding\\python\\Hospital.xlsx', data_only=True)ws = wb.active#遍历每一行rows = []for row in ws.iter_rows():rows.append(row)print (u"行高:", ws.max_row)print (u"列宽:", ws.max_column)for i in range(0, ws.max_row): print (rows[i][0], rows[i][0].value)input.clear()input.send_keys(rows[i][0].value) submit.click()time.sleep(1)try:# 等待坐标wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '#no_0')))except TimeoutException:print ('百度地图查不到地址')continue# 获取网页文本,提取经纬度source = driver.page_sourcesoup = BeautifulSoup(source, 'lxml') i = 0for li in soup.select('ul.local_s > li'):print (li.get_text())i += 1if i > 0:break# 关闭浏览器驱动driver.close()coordinate()
- #效果 :
运行代码显示详细地址,电话,坐标
Python 调用 百度地图API接口 查询 详细地址名称 [转载]相关推荐
- Python调用百度地图api路径查询
通过调用百度地图api获取两个地点的距离和时间.参数详见百度地图api官方文档. # -*- coding: utf-8 -*- """ Created on Thu M ...
- python调用百度地图API批量查询全国高速收费站点经纬度
写在前面 大家好,我是饭都吃不起的南南 昨天帮朋友爬了全国的高速站点收费站这里下载 [http://www.bestunion.cn/gaosu/p_4/sfzlist.html] 由于该网站并没有西 ...
- 调用百度地图API接口制作热力图
调用百度地图API接口制作热力图 Python学了很久,也做了一些机器学习的demo,利用matolotlib库做过一些可视化.今天呢想尝试做一下热力图.先PO一张我最终效果图. 因为数据原因,效果一 ...
- 调用百度地图API获取经纬度(详细步骤)
前端调用百度地图API获取经纬度(详细操作) 1. 浏览器搜索百度地图开放平台 2. 创建应用 点击控制台 --> 应用管理 --> 我的应用 --> 注册账号(如果没有注册过) - ...
- Python3调用百度地图API接口获取结构化地址
在实际应用中,我们也许会有这样的需求,输入一个地名,就能够知道这个地方的准确地址.例如输入"清华大学",我们就可以知道清华大学在北京的哪个区哪条道路.正好百度地图开放平台服务提供了 ...
- python调用百度地图API爬取西安市POI数据
任务前提 做该项目之前,首先得有基础知识: 编程语言:python 编译工具:PyCharm 网络爬虫相关知识,xpath库,numpy,pandas等库. 任务准备: 去百度地图开放平台申请密匙:h ...
- python 调用百度地图api 实现批量经纬度转换为实际省市地点(api调用,json解析,mysql读取与写入)
1.获取秘钥 调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥.链接如下:添加链接描述 下面是百度创建的app设置: 2.调用API将经纬度信息解析成json信息 def ...
- [Python]调用百度地图API对地点进行搜索,利用 JSON 返回纬度/行政区域编号
1.创建百度API应用 类似爬虫程序,在百度地图API进行注册 在此处点击控制台,在应用管理------我的应用处 创建自己的应用. 创建应用如图所示,在请求校验方式处选择sn校验方式 记住自己的AK ...
- python调用百度地图API 实现单点沿线轨迹运动
百度地图API 可以做很多好玩的事情,自己闲来无事,先是照着一些资料做了热力图,然后借助pyqt5做了一个简单的界面,实现gps单点沿线(行车)的轨迹. 先上程序界面和效果图: 过程:1. 申请百度地 ...
最新文章
- 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容...
- skb详细解析【转】
- sap中用函数增加断点(break point)
- VTK:图片之ImageTransparency
- html模板(base标签,meta标签,禁用浏览器缓存)+JSP自定义标签荔枝
- DirectShow 在VS2005中环境配置
- 「あるいは」 「もしくは」 「または」 「それとも」的区别
- ARP防火墙 (防如网络执法官、网络剪刀手、局域网终结者限制本机网速)
- 必读论文|20篇聊天机器人领域必读论文速递
- Node.js内存泄漏分析
- 【JVM】JVM基础
- 常用合同范本大全|全部是合同,多学学吧。以后少吃亏。
- 图的存储结构之边集数组
- 好佳居软装十大品牌 软装这些知识我们要知道
- 电脑上怎么绘制流程图?三分钟快速绘制流程图的秘诀
- 论字母导航的重要性,我们来实现一个联系人字母导航列表吧!
- Eclipse配置使用Git
- 牙科诊所信息管理系统 :四.CRUD
- ADG-12A-02-D2-1-52不带位置反馈比例换向阀放大器
- 服务器安全狗拦截微信,服务器软件安全狗误拦截百度蜘蛛
热门文章
- V-Cut是什么?为何PCB上面要有V-Cut?
- 《在小吃店遇见凯恩斯》读书心得小记 - Part 2
- Java代码是如何被CPU狂飙起来的?
- input标签是什么?input标签属性有哪些
- 笔记 npm是什么?
- 读书笔记之《从优秀到卓越》
- 高斯列选主元素消元法
- Java学习笔记6.3.4 文件操作 - Path接口和Files工具类
- 性价比好,能满足脱机下载和 720P 网络共享播放的路由器选择
- 关于Vue实现动态路由component找不到组件的问题(Error: Cannot find module ‘@/views/User‘)