利用Excel将百度地图搜索结果导出

本文介绍了一种使用VBA宏编程的方式从百度地图批量抓取特定类型商家信息的方法,如店名、地址及电话等,并将其填充到Excel表格中。

1、打开Excel文件(或新建一个Excel文件),在菜单栏中找到“开发工具”→“宏”,创建宏,应该也叫VBA程序(截图以office 2016版本为例,其他版本只要能找到宏添加运行即可)。


2、点击创建,在打开的代码编辑框里,粘贴以下代码:

代码:

Sub baiduMap()

    Dim url, html, js

    Cells.ClearContents

    br = [{"店名","地址","电话"}]

    Range("a1:c1") = br

    url = ""

    Set html =CreateObject("htmlfile")

    Set js =CreateObject("scriptcontrol")

    js.Language = "jscript"

    For p = 1 To 5

        WithCreateObject("msxml2.xmlhttp")

            url ="http://map.baidu.com/?newmap=1"

            url = url &"&reqflag=pcmap"

            url = url &"&biz=1"

            url = url &"&from=webmap"

            url = url &"&qt=s"

            url = url &"&from=webmap"

            url = url &"&c=257"

            url = url &"&pl_data_type=cater"

            url = url & "&pl_sub_type=餐饮"

            url = url &"&pl_price_section=0%2C%2B"

            url = url &"&pl_sort_type=data_type"

            url = url &"&pl_sort_rule=0"

            url = url &"&pl_discount2_section=0%2C%2B"

            url = url &"&pl_groupon_section=0%2C%2B"

            url = url &"&pl_cater_book_pc_section=0%2C%2B"

            url = url &"&pl_ticket_book_flag_section=0%2C%2B"

            url = url &"&pl_movie_book_section=0%2C%2B"

            url = url &"&pl_business_type=cater"

            url = url &"&pl_business_id="

            url = url &"&pl_activity_gwj_section=0%2C%2B"

            url = url &"&wd=餐饮"

            url = url &"&pn=1"

            url = url &"&db=0"

            url = url &"&wd2="

            url = url & "&sug=0"

            url = url &"&da_src=pcmappg.poi.page"

            url = url &"&on_gel=1"

            url = url &"&src=7"

            url = url &"&gr=3"

 

            url = url &"&l=12"

            url = url &"&addr=0"

            url = url &"&nn=" & (p - 1) * 10

            url = url &"&tn=B_NORMAL_MAP"

            url = url &"&ie=utf-8"

            url = url &"&t=1412423900383"

            .Open "get", url, False

            .send

            js.addcode ("suwenkai = "& .responsetext)

 

            slen =js.eval("suwenkai.content.length") - 1

            For i = 0 To slen

                n = n + 1

                Cells(n + 1, 1) =js.eval("suwenkai.content[" & i & "].name")

                Cells(n + 1, 2) =js.eval("suwenkai.content[" & i & "].addr")

                Cells(n + 1, 3) =js.eval("suwenkai.content[" & i & "].tel")

            Next

        End With

    Next

End Sub

蓝色代码注释

1、    br =[{"名称","地址","电话"}]:创建在excel的目录,如


2、    For p= 1 To 5:表示从百度地图中取第1页至第5页的搜索结果,根据具体情况设置最大读取页数。例如:

3、    url =url & "&c=257":城市代码设置,当前设置城市为广州市  ,例如北京的城市代码为131,将c=257设置为c=131即可。中国城市代码对应在同文件夹下的<<城市代码.xlsx>>。

4、    url =url & "&pl_sub_type=餐饮"

url = url & "&pl_sub_type=餐饮":

关键字设置:

例如要把关键字设置为“设计院”,将“餐饮”,改为“设计院”即可。


资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在 IT 领域,尤其是地理信息系统(GIS)和 Web 开发中,地图 API 是不可或缺的工具。本文将深入探讨百度地图 API 的地址批量转换坐标功能,以及与之相关的 Excel 上传和地图撒点功能。 百度地图 API 是百度提供的一系列接口,允许开发者将百度地图嵌入到自己的网站或应用程序中,从而实现地图展示、位置搜索、路线规划等多种功能。其中,地址批量转换坐标功能是针对大量地址数据处理需求而设计的。在物流配送、数据分析等实际应用场景中,我们常常需要将大量地址转换为经纬度坐标,以便在地图上进行定位和可视化。百度地图 API 提供了高效的批量转换接口,支持 Excel 等格式的数据输入。 具体操作流程如下:首先,用户需要整理 Excel 文件,确保所有地址信息都位于指定列中。然后,将该文件上传到相应的工具平台。工具会逐行读取地址信息,并通过调用百度地图 API 的地理编码服务,将每个地址转换为对应的经纬度坐标。转换完成后,用户可以下载包含坐标信息的新 Excel 文件。 此外,百度地图 API 还支持坐标系转换。在 GIS 中,存在多种坐标系统,如 WGS84、GCJ-02(中国国家坐标系)和 BD-09(百度坐标系)。由于不同坐标系统基于不同的参考框架,因此在不同地图平台之间进行数据交换时,需要进行坐标转换,以确保数据的一致性。 “地图撒点功能”则是将坐标点以点的形式展示在地图上,帮助用户直观地理解数据分布。通过将转换后的坐标数据输入到地图 API 中,可以生成散点图,这对于分析地理位置分布、生成热力图等具有重要价值。 总的来说,百度地图 API 的地址批量转换坐标功能,结合 Excel 上传和地图撒点功能,为开发者和业务人员提供了强大的工具,能够高效地处理地理位置数据。无论是进行数据
把网上电子地图的图片下载到本地. 因为网上电子图片是分缩放级别的,可以直接将所有级别或才定制级别的图片下载下来,会放到相应的文件夹里面.可供使用百度地图引擎的程序直接使用. 不好意思,定这么高的分,如果您分不够,可以给我发邮件,我把程序发给您. 双面GetBaiduMapPic\bin\Debug\GetBaiduMapPic.exe来运行程序, 第一步:填写好经度开始,经度结束。 第二步:填写好纬度开始,纬度结束。 第三步:选择缩放级别开始,也就是从第几级的缩放开始下载。 第四步:选择绽放级别结束,也就是到第几级的缩放结束下载。百度的地图缩放是0-13个级别,我们可以从中选择。只要开始不要大于结束即可。 第五步:点击“开始生成URL”按钮。此时在下面左边的列表里面会显示出生成要下载的图片地址列表。 第六步:点击“选择存储位置”按钮,找到一个位置,用来存放配置文件及要下载的图片的位置。不要忘记文件名处要填写一个名字,自己随意起就好了。填好后点击保存。 第七步:点击“导出XML”按钮,这样便会将刚刚显示的要下载的文件列表保存到了XML文件中。 第八步:点击“开始获取”按钮,便会将百度的电子地图图片下载到本地了。就是您刚才放置XML文件位置。 如果有失败的地址,则点击“失败地址导出XML”,便可以将地址导出。以便重新进行读取下载。 在使用中如果遇到问题可以致 Email:lyx830621@163.com 声明:本程序只用作技术研究,软件使用自愿,若引起百度等网站纠纷与本人无关,请自行决定是否使用。
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值