本程序通过selenium模块模拟打开baidu地图网页,输入公司名称来查询地址,最后采用BeautifulSoup模块实现公司地址提取。
采用openpyxl模块读取Excel的.xlsx后缀文件并处理数据,主要是读取Excel的各单位和公司的名称。
采用selenium模块(浏览器自动化测试框架),是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作网页一样。
采用BeautifulSoup模块对网页进行解析实现网页内容提取。
# 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 re, pandas as pd
import time
from bs4 import BeautifulSoup
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
def coordinate():
# 创建浏览器驱动对象
driver = webdriver.Chrome()
driver.get('http://api.map.baidu.com/lbsapi/getpoint/index.html')
# 显式等待,设置timeout
wait = 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')))
# 输入搜索词,点击搜索按钮
# 有时候我们希望读取到公式计算出来的结果,可以使用load_workbook()中的data_only属性
wb = load_workbook(u'C:\\Users\\kai\\Desktop\\Group_Address.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(1, ws.max_row): # row
# print rows[i][0], rows[i][0].value, type(rows[i][0].value)
print rows[i][0], rows[i][0].value,
# coordinate(rows[i][0].value)
input.clear()
input.send_keys(rows[i][0].value) # u'浙江工业大学'
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_source
soup = BeautifulSoup(source, 'lxml') #
i = 0
for li in soup.select('ul.local_s > li'):
print li.get_text()
i += 1
if i > 0:
break
# 关闭浏览器驱动
driver.close()
coordinate()
程序执行的部分结果如下:
D:\Python27\python.exe C:/Users/kai/PycharmProjects/Machine_Learning/data/Baidu_Map_6660_Groups_Address.py
行高: 6664
列宽: 1
<Cell u'Sheet1'.A2> 杭州奥彩科技有限公司 杭州奥彩科技有限公司 地址:万塘路69号杭州华星科技苑B楼205 坐标:120.130108,30.279865
<Cell u'Sheet1'.A3> 杭州宝厚科技有限公司 杭州宝厚堂 地址:杭州市余杭区塘栖镇绿荫街518号 电话:13656660722 坐标:120.208411,30.482671
<Cell u'Sheet1'.A4> 杭州策联科技有限公司 杭州磐策科技有限公司 地址:新联路625号和仁科技大厦 坐标:120.230996,30.214781
<Cell u'Sheet1'.A5> 杭州大通国际旅行社有限公司 百度地图查不到地址
<Cell u'Sheet1'.A6> 杭州鼎永科技有限公司 杭州鼎永科技有限公司 地址:杭州市拱墅区新文路33号2号楼5层 坐标:120.114375,30.343333
<Cell u'Sheet1'.A7> 杭州东海春房地产开发有限公司 百度地图查不到地址
<Cell u'Sheet1'.A8> 杭州复显科技有限公司 百度地图查不到地址
<Cell u'Sheet1'.A9> 杭州海悦网络科技有限公司 杭州海悦地产有限公司 地址:浙江省杭州市西湖区灯彩街 坐标:120.077423,30.329499
<Cell u'Sheet1'.A10> 杭州禾本数字科技有限公司 杭州禾本数字科技有限公司 地址:万塘路69号杭州华星科技苑B楼105 坐标:120.130108,30.279865
<Cell u'Sheet1'.A11> 杭州华圣通信设备有限公司 杭州华圣广告有限公司 地址:杭州西湖文二西路212号高新大厦3楼 坐标:120.140363,30.289529
<Cell u'Sheet1'.A12> 杭州皇嘉工贸有限公司 皇嘉财润 地址:浙江省杭州市下城区庆春路118号 坐标:120.179629,30.26408
<Cell u'Sheet1'.A13> 杭州科普特电子有限公司 百度地图查不到地址
<Cell u'Sheet1'.A14> 杭州良瑞科技有限公司 杭州烽瑞光电设备有限公司 地址:浙江省杭州市余杭区仁良路288号 坐标:120.081747,30.452677
<Cell u'Sheet1'.A15> 杭州烈火科技有限公司 杭州烈火科技有限公司 地址:翠柏路6号4号楼402室 坐标:120.13038,30.297255
<Cell u'Sheet1'.A16> 杭州洛川科技有限公司 杭州洛川科技有限公司 地址:杭州市西湖区文二路385号汽轮大厦9层 电话:(0571)88052231 坐标:120.129236,30.288689
<Cell u'Sheet1'.A17> 杭州明灏建筑设计有限公司 杭州明灏建筑设计有限公司 地址:杭州市西湖区万塘路69号华星科技苑A座401-402 坐标:120.130512,30.280352
<Cell u'Sheet1'.A18> 杭州铭悦科技有限公司 杭州铭悦科技有限公司 地址:文三路453号中茵大厦B座302室 电话:(0571)56887935 坐标:120.13404,30.282722
<Cell u'Sheet1'.A19> 杭州纳帕科技有限公司 纳帕科技有限公司 地址:翠苑街道文二路212号高新大厦七楼 电话:(0571)28806600 坐标:120.140432,30.289652
<Cell u'Sheet1'.A20> 杭州普智科技有限公司 杭州智普贸易有限公司 地址:杭州市西湖区文三路浙江中小企业大厦8楼803 坐标:120.128816,30.282565
<Cell u'Sheet1'.A21> 杭州盛酷贸易有限公司 百度地图查不到地址
<Cell u'Sheet1'.A22> 杭州市公安局交通警察支队西湖大队转塘中队 杭州市公安局交通警察支队转塘中队(... 地址:凌周线与象山路交叉口西200米 电话:(0571)87091476 坐标:120.083711,30.142689
<Cell u'Sheet1'.A23> 杭州市西湖区荣林通信服务部 百度地图查不到地址
<Cell u'Sheet1'.A24> 杭州首泰办公设备有限公司 杭州首泰办公设备有限公司 地址:西湖区天目山路238号华鸿大厦A座1楼 坐标:120.133656,30.279483
<Cell u'Sheet1'.A25> 杭州通铁电脑有限公司 浙江通铁电子科技有限公司 地址:杭州市西湖区文三路388号钱江科技大厦1901室 坐标:120.135239,30.283359
<Cell u'Sheet1'.A26> 杭州万恩网络设备有限公司 百度地图查不到地址
<Cell u'Sheet1'.A27> 杭州享量物联科技有限公司 百度地图查不到地址
<Cell u'Sheet1'.A28> 杭州新视窗信息技术有限公司 杭州新视窗信息技术有限公司 地址:西湖区西斗门路3号 电话:(0571)88231790 坐标:120.123813,30.297735
<Cell u'Sheet1'.A29> 杭州银鼎科技有限公司 杭州银鼎工程机械有限公司 地址:新盛路与昌园路交叉口南100米 电话:(0571)82870602 坐标:120.293866,30.207418
<Cell u'Sheet1'.A30> 杭州与点景观设计有限公司 中国移动通讯特约代理点(与杭州周永通讯) 地址:浙江省杭州市余杭区良渚街道良运家园113号 坐标:120.124588,30.35937
<Cell u'Sheet1'.A31> 杭州子鼎实业有限公司 百度地图查不到地址
<Cell u'Sheet1'.A32> 浙江东霖房地产开发有限公司 百度地图查不到地址
<Cell u'Sheet1'.A33> 浙江弘道科技有限公司 浙江弘道科技有限公司 地址:浙江省杭州市西湖区外桐坞村129号 电话:(0571)85249306 坐标:120.063474,30.209549
<Cell u'Sheet1'.A34> 浙江今扬信息技术有限公司 百度地图查不到地址
<Cell u'Sheet1'.A35> 浙江丽晶商业经营管理有限公司 浙江泰宁担保有限公司 地址:浙江省杭州市西湖区教工路18世贸丽晶城欧美中心15层b1509 坐标:120.143742,30.279417
<Cell u'Sheet1'.A36> 浙江美亚经济技术开发有限公司 浙江美亚 地址:紫荆花路108号(西城广场) 电话:(0571)56826100 坐标:120.100124,30.285427
<Cell u'Sheet1'.A37> 浙江钱江水利供水有限公司 浙江钱江水利供水有限公司 地址:三台山路211号 坐标:120.137114,30.237902
<Cell u'Sheet1'.A38> 杭州安控自动化工程有限公司 杭州安控环保科技公司 地址:富阳区春江街道临江村江南路178号 电话:(0571)61708111 坐标:119.970129,30.018374
<Cell u'Sheet1'.A39> 杭州笃志科技有限公司 百度地图查不到地址
<Cell u'Sheet1'.A40> 杭州共诺科技有限公司 诺远资管有限公司 地址:教工路18号欧美中心A区801室 坐标:120.14363,30.279347
<Cell u'Sheet1'.A41> 杭州冠科信息技术有限公司 冠鸿实业有限公司 地址:浙江省杭州市西湖区三墩镇三墩科技园博科大厦三楼冠鸿实业有限公司 坐标:120.07135,30.330345
<Cell u'Sheet1'.A42> 杭州广的休闲运动有限公司 杭州广的休闲运动有限公司 地址:天目山路238华鸿大厦A座8层 坐标:120.13306,30.279394
<Cell u'Sheet1'.A43> 杭州航标装饰设计有限公司 杭州航标装饰设计有限公司 地址:紫东创意设计产业园3号楼A座1层 电话:(0571)87896557 坐标:120.103842,30.313932
<Cell u'Sheet1'.A44> 杭州环同生物科技有限公司 时间国际-东南门 地址:浙江省杭州市江干区同协南路与环站北路交叉口东北200米淘天地商务大厦4幢附近 坐标:120.230211,30.310326
<Cell u'Sheet1'.A45> 杭州健巽交通设计咨询有限公司 百度地图查不到地址
<Cell u'Sheet1'.A46> 杭州久控科技有限公司 百度地图查不到地址
<Cell u'Sheet1'.A47> 杭州启迈建材科技有限公司 百度地图查不到地址
<Cell u'Sheet1'.A48> 杭州万远鑫鑫投资有限公司 万远鑫鑫投资有限公司 地址:浙江省杭州市西湖区美院南街99号7楼 坐标:120.082939,30.156909
<Cell u'Sheet1'.A49> 杭州逸之旅旅行社有限公司 百度地图查不到地址
<Cell u'Sheet1'.A50> 杭州展旭暖通工程有限公司 百度地图查不到地址
<Cell u'Sheet1'.A51> 杭州中品商业形象策划有限公司 杭州中品睿福汽配有限公司 地址:天城路1号城东派出所附近 电话:(0571)87092531,(0571)87090371 坐标:120.214555,30.290914
<Cell u'Sheet1'.A52> 浙江港湾物业服务有限公司 浙江港湾物业服务有限公司 地址:浙江省杭州市西湖区申花路798号 坐标:120.100283,30.312481
<Cell u'Sheet1'.A53> 北京天下互联信息科技有限公司杭州分公司 天下互联信息科技有限公司杭州分公司 地址:杭州市下城区建国北路658号 坐标:120.18659,30.279841
<Cell u'Sheet1'.A54> 杭州艾玛司智能控制技术有限公司 百度地图查不到地址
<Cell u'Sheet1'.A55> 杭州宝利德汽车销售服务有限公司 浙江宝利德股份有限公司 地址:浙江省杭州市西湖区求是路8号公元大厦南503室 电话:(0571)87381187,(0571)89715857 坐标:120.13756,30.270719
<Cell u'Sheet1'.A56> 杭州奔迪科技限公司 百度地图查不到地址
<Cell u'Sheet1'.A57> 杭州兵人服装有限公司(西湖) 兵人军旅服饰(西湖店) 地址:南山路172-1 电话:(0571)87022740 坐标:120.165072,30.243104
<Cell u'Sheet1'.A58> 杭州道易企业管理咨询有限公司 杭州金蜜果企业管理咨询有限公司 地址:景星观路19号3楼 坐标:120.300925,30.427655
<Cell u'Sheet1'.A59> 杭州德达汽车有限公司 杭州德达汽车有限公司 地址:杭州市西湖区古墩路669号 电话:(0571)56878888 坐标:120.103869,30.307087
<Cell u'Sheet1'.A60> 杭州光明建筑设计院 百度地图查不到地址
<Cell u'Sheet1'.A61> 杭州杭网创业投资有限公司 兰池(杭州)餐饮管理有限公司 地址:浙江省杭州市江干区杭海路601号浙江互联网大厦b座7楼 电话:4008821955 坐标:120.233864,30.274798
<Cell u'Sheet1'.A62> 杭州昊一网络科技有限公司 杭州昊鑫生物科技股份有限公司 地址:浙江省杭州市江干区天城路168号蓝天城市花园1幢1单元401室杭州昊鑫生物科技股份有限公司 电话:4008615108,(0571)86955191 坐标:120.196565,30.290448
<Cell u'Sheet1'.A63> 杭州合聚房地产代理有限公司 杭州友聚佳合食品有限公司 地址:杭州市拱墅区海翔加油站莫干山路1413号2号楼2楼 坐标:120.104304,30.343273
<Cell u'Sheet1'.A64> 杭州黑泷堂物美店 黑泷堂饮铺(文一2号店) 地址:文一路298号物美一楼 坐标:120.128878,30.293785
<Cell u'Sheet1'.A65> 杭州鸿发旅行社有限公司 上海鸿发广告装饰有限公司(杭州分公司) 地址:浙江省杭州市滨江区滨兴小区37号商铺 电话:15968857312,13588042884 坐标:120.207654,30.199261
<Cell u'Sheet1'.A66> 杭州建云电子设备有限公司(西湖 建明茶叶经营部 地址:浙江省杭州市西湖区杭州西湖茶叶市场13号 电话:13805724431,13615712445 坐标:120.083976,30.167527
<Cell u'Sheet1'.A67> 杭州金沙港旅游文化村有限公司西子湖四季酒店分公司 百度地图查不到地址
<Cell u'Sheet1'.A68> 杭州开来橱柜有限公司 杭州开来环保科技有限公司 地址:杭州市萧山区永新线与123县道交叉口东北50米 坐标:120.446423,30.302359
<Cell u'Sheet1'.A69> 杭州立地信息技术有限公司(西湖) 杭州立地信息技术有限公司 地址:西湖去振华路200号瑞鼎大厦A座7楼 电话:(0571)58119066 坐标:120.079398,30.31996
<Cell u'Sheet1'.A70> 杭州麦果食品仓库中心 杭州果麦文化传媒有限公司 地址:西湖区文二西路803号西溪湿地董湾D8-02-2 坐标:120.058882,30.281913
<Cell u'Sheet1'.A71> 杭州芒果婚姻介绍有限公司 杭州芒果广告有限公司 地址:江干区下沙电子商务园4幢4B605室 坐标:120.37111,30.303108
<Cell u'Sheet1'.A72> 杭州启辉企业管理咨询有限公司 杭州启辉医疗器械有限公司 地址:浙江省杭州市江干区秋涛北路83号新城市广场b座709室杭州启辉医疗器械有限公司 坐标:120.206399,30.267935
<Cell u'Sheet1'.A73> 杭州瑞驰广告传媒有限公司 百度地图查不到地址
<Cell u'Sheet1'.A74> 杭州瑞鼎橡塑制品有限公司 百度地图查不到地址
<Cell u'Sheet1'.A75> 杭州润美医疗器械有限公司 杭州润美环境工程有限公司 地址:西湖区振华路200号915号 电话:13675886393,(0571)85810626 坐标:120.079407,30.31997
<Cell u'Sheet1'.A76> 杭州三赢人力资源服务有限公司(西湖) 杭州三赢人力资源服务有限公司 地址:杭州市西湖区翠柏路6号浙江省电子技术研究所园区4号楼2楼 坐标:120.130376,30.297258
<Cell u'Sheet1'.A77> 杭州桑霞生态农业开发有限公司( 百度地图查不到地址
<Cell u'Sheet1'.A78> 杭州珊瑚沙物业管理有限公司(西 大家物业管理有限公司 地址:枫桦路与碧波路交叉口西150米 坐标:120.103812,30.167035
<Cell u'Sheet1'.A79> 杭州商融投资有限公司 杭州融顺房地产代理有限公司 地址:杭州市下城区万家星城11幢(商)1号 电话:18329114375 坐标:120.185851,30.328435
<Cell u'Sheet1'.A80> 杭州申亚科技有限公司 申亚线材有限公司 地址:杭州市藻溪镇横塘村 坐标:119.231711,30.051513
<Cell u'Sheet1'.A81> 杭州圣大人工环境工程有限公司(百日会战) 百度地图查不到地址
<Cell u'Sheet1'.A82> 杭州狮峰茶叶有限公司(西湖) 杭州狮峰茶叶有限公司 地址:浙江省杭州市西湖区虎跑路58号 电话:(0571)86591403 坐标:120.1419,30.220424
<Cell u'Sheet1'.A83> 杭州时代浙商教育管理咨询有限公 浙商时代大厦-地下停车场 地址:杭州市拱墅区密渡桥路1号浙商时代大厦 坐标:120.16536,30.280402
<Cell u'Sheet1'.A84> 杭州市测绘与地理信息行业协会 富阳市测绘与地理信息局 地址:天河路108号 电话:(0571)63135123 坐标:119.947079,30.041165
<Cell u'Sheet1'.A85> 杭州市公安局西湖区分局(西湖) 杭州市公安局西湖区分局 地址:浙江省杭州市西湖区晴川街123号 电话:(0571)87281200 坐标:120.082517,30.289126
<Cell u'Sheet1'.A86> 杭州市勘测设计研究院(西湖) 杭州市勘测设计研究院 地址:浙江省杭州市西湖区武林门新村13号 电话:(0571)88087781 坐标:120.156628,30.283126
<Cell u'Sheet1'.A87> 杭州市三墩镇水月社区居民委员会 杭州市三墩镇水月社区居民委员会 地址:浙江省杭州市西湖区天虹公寓南区4-09 坐标:120.097861,30.319043