ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 92973|回复: 170

[求助] 怎么把百度地图的搜索结果全部导出到Excel文件

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2014-10-4 15:48 | 显示全部楼层 |阅读模式
我想把百度地图搜索结果导出文件,例如:百度地图里搜索“餐饮”,区域是全北京地区,要“名称”“电话”“地址”,怎么把搜索的结果直接导成文件,望大神指导

TA的精华主题

TA的得分主题

发表于 2014-10-4 20:13 | 显示全部楼层
  1. Sub 按钮1_单击()
  2.     Dim url, html, js
  3.     Cells.ClearContents
  4.     br = [{"店名","地址","电话"}]
  5.     Range("a1:c1") = br
  6.     url = ""
  7.     Set html = CreateObject("htmlfile")
  8.     Set js = CreateObject("scriptcontrol")
  9.     js.Language = "jscript"
  10.     For p = 1 To 5
  11.         With CreateObject("msxml2.xmlhttp")
  12.             url = "http://map.baidu.com/?newmap=1"
  13.             url = url & "&reqflag=pcmap"
  14.             url = url & "&biz=1"
  15.             url = url & "&from=webmap"
  16.             url = url & "&qt=s"
  17.             url = url & "&from=webmap"
  18.             url = url & "&c=131"
  19.             url = url & "&pl_data_type=cater"
  20.             url = url & "&pl_sub_type=%E9%A4%90%E9%A6%86"
  21.             url = url & "&pl_price_section=0%2C%2B"
  22.             url = url & "&pl_sort_type=data_type"
  23.             url = url & "&pl_sort_rule=0"
  24.             url = url & "&pl_discount2_section=0%2C%2B"
  25.             url = url & "&pl_groupon_section=0%2C%2B"
  26.             url = url & "&pl_cater_book_pc_section=0%2C%2B"
  27.             url = url & "&pl_ticket_book_flag_section=0%2C%2B"
  28.             url = url & "&pl_movie_book_section=0%2C%2B"
  29.             url = url & "&pl_business_type=cater"
  30.             url = url & "&pl_business_id="
  31.             url = url & "&pl_activity_gwj_section=0%2C%2B"
  32.             url = url & "&wd=餐饮"
  33.             url = url & "&pn=1"
  34.             url = url & "&db=0"
  35.             url = url & "&wd2="
  36.             url = url & "&sug=0"
  37.             url = url & "&da_src=pcmappg.poi.page"
  38.             url = url & "&on_gel=1"
  39.             url = url & "&src=7"
  40.             url = url & "&gr=3"
  41.             url = url & "&b=(12923312.96,4835667.72;12993008.96,4846291.72)"
  42.             url = url & "&l=12"
  43.             url = url & "&addr=0"
  44.             url = url & "&nn=" & (p - 1) * 10
  45.             url = url & "&tn=B_NORMAL_MAP"
  46.             url = url & "&ie=utf-8"
  47.             url = url & "&t=1412423900383"
  48.             .Open "get", url, False
  49.             .send
  50.             js.addcode ("suwenkai = " & .responsetext)

  51.             slen = js.eval("suwenkai.content.length") - 1
  52.             For i = 0 To slen
  53.                 n = n + 1
  54.                 Cells(n + 1, 1) = js.eval("suwenkai.content[" & i & "].name")
  55.                 Cells(n + 1, 2) = js.eval("suwenkai.content[" & i & "].addr")
  56.                 Cells(n + 1, 3) = js.eval("suwenkai.content[" & i & "].tel")
  57.             Next
  58.         End With
  59.     Next
  60. End Sub
复制代码

百度_餐饮.rar

9.62 KB, 下载次数: 2628

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-10-4 21:19 | 显示全部楼层
suwenkai 发表于 2014-10-4 20:13

大神,请问一下你是怎么获取北京的坐标(12923312.96,4835667.72;12993008.96,4846291.72)的?我想知道广州市的坐标?如何可以获取?

TA的精华主题

TA的得分主题

发表于 2014-10-4 21:29 | 显示全部楼层
yu381920565 发表于 2014-10-4 21:19
大神,请问一下你是怎么获取北京的坐标(12923312.96,4835667.72;12993008.96,4846291.72)的?我想知道广 ...

哪个是多余的没有用的,删除了也可以运行,要广州的修改一下18行的131改为257

TA的精华主题

TA的得分主题

发表于 2014-10-4 21:37 | 显示全部楼层
suwenkai 发表于 2014-10-4 21:29
哪个是多余的没有用的,删除了也可以运行,要广州的修改一下18行的131改为257

修改后会报错  suwenkai.content.length  为空或者不是对象

TA的精华主题

TA的得分主题

发表于 2014-10-4 22:00 | 显示全部楼层
yu381920565 发表于 2014-10-4 21:37
修改后会报错  suwenkai.content.length  为空或者不是对象
  1. Sub 按钮1_单击()
  2.     Dim url, html, js
  3.     Cells.ClearContents
  4.     br = [{"店名","地址","电话"}]
  5.     Range("a1:c1") = br
  6.     url = ""
  7.     Set html = CreateObject("htmlfile")
  8.     Set js = CreateObject("scriptcontrol")
  9.     js.Language = "jscript"
  10.     For p = 1 To 5
  11.         With CreateObject("msxml2.xmlhttp")
  12.             url = "http://map.baidu.com/?newmap=1"
  13.             url = url & "&reqflag=pcmap"
  14.             url = url & "&biz=1"
  15.             url = url & "&from=webmap"
  16.             url = url & "&qt=s"
  17.             url = url & "&from=webmap"
  18.             url = url & "&c=257"
  19.             url = url & "&pl_data_type=cater"
  20.             url = url & "&pl_sub_type=餐饮"
  21.             url = url & "&pl_price_section=0%2C%2B"
  22.             url = url & "&pl_sort_type=data_type"
  23.             url = url & "&pl_sort_rule=0"
  24.             url = url & "&pl_discount2_section=0%2C%2B"
  25.             url = url & "&pl_groupon_section=0%2C%2B"
  26.             url = url & "&pl_cater_book_pc_section=0%2C%2B"
  27.             url = url & "&pl_ticket_book_flag_section=0%2C%2B"
  28.             url = url & "&pl_movie_book_section=0%2C%2B"
  29.             url = url & "&pl_business_type=cater"
  30.             url = url & "&pl_business_id="
  31.             url = url & "&pl_activity_gwj_section=0%2C%2B"
  32.             url = url & "&wd=餐饮"
  33.             url = url & "&pn=1"
  34.             url = url & "&db=0"
  35.             url = url & "&wd2="
  36.             url = url & "&sug=0"
  37.             url = url & "&da_src=pcmappg.poi.page"
  38.             url = url & "&on_gel=1"
  39.             url = url & "&src=7"
  40.             url = url & "&gr=3"

  41.             url = url & "&l=12"
  42.             url = url & "&addr=0"
  43.             url = url & "&nn=" & (p - 1) * 10
  44.             url = url & "&tn=B_NORMAL_MAP"
  45.             url = url & "&ie=utf-8"
  46.             url = url & "&t=1412423900383"
  47.             .Open "get", url, False
  48.             .send
  49.             js.addcode ("suwenkai = " & .responsetext)

  50.             slen = js.eval("suwenkai.content.length") - 1
  51.             For i = 0 To slen
  52.                 n = n + 1
  53.                 Cells(n + 1, 1) = js.eval("suwenkai.content[" & i & "].name")
  54.                 Cells(n + 1, 2) = js.eval("suwenkai.content[" & i & "].addr")
  55.                 Cells(n + 1, 3) = js.eval("suwenkai.content[" & i & "].tel")
  56.             Next
  57.         End With
  58.     Next
  59. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-4 22:14 | 显示全部楼层
suwenkai 发表于 2014-10-4 20:13

谢谢,你这只能导出部分,如果百度地图搜索餐饮有2万多条结果,怎么全部导出来,还有如果切换城市,坐标是从哪获取啊?

TA的精华主题

TA的得分主题

发表于 2014-10-4 22:16 | 显示全部楼层
独自狂欢 发表于 2014-10-4 22:14
谢谢,你这只能导出部分,如果百度地图搜索餐饮有2万多条结果,怎么全部导出来,还有如果切换城市,坐标是 ...

第10行的中的 For p = 1 To 5 表示提取1到5行,你要全部就修改成100或者更多的页码
第18行的数字是城市切换,具体是哪些要捕捉到数据才可以。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-4 22:38 | 显示全部楼层
suwenkai 发表于 2014-10-4 22:16
第10行的中的 For p = 1 To 5 表示提取1到5行,你要全部就修改成100或者更多的页码
第18行的数字是城市切 ...

我修改到更多行会报楼上一样的错误,例如我把北京市的全部导出来那肯定需要2000行左右,1TO2000就会报错,你说的城市数字有地方提供吗,例如我需要北京各个区的搜索结果,是否可便捷的通过修改城市数字来实现,城市或区域坐标有对照表吗?

TA的精华主题

TA的得分主题

发表于 2014-10-4 23:02 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
suwenkai 发表于 2014-10-4 22:00

谢谢,同问城市有没对照表?谢谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-26 08:44 , Processed in 0.050497 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表