爬虫-地图poi信息采集
本帖最后由 pzx521521 于 2019-4-17 12:02 编辑#### 2019.4.17 更新
增加查看地区分布功能
![示例](https://i.loli.net/2019/04/17/5cb69513b86b5.jpg)
![示例2](https://i.loli.net/2019/04/17/5cb697cd6c9de.jpg)
(https://share.weiyun.com/5uiGnzI)
#### 10.11号更新
增加geo
仅仅修改了配置文件 如果不想重新下载 自己在配制文件自己加一下就好了
下面增加
geo=地理位置|100
下面增加
geo=geo
链接: https://pan.baidu.com/s/12shCVwYvuN5cMMnimO78mw 提取码: 776n
#### 8.07号更新
+ 修正高德地图显示
#### 8.03号更新
+ 电话不能显示问题(原因配置文件tel多写了一个";")
+ 增加最大值(默认采集500条结束)
+ 增加图片
http://chuantu.biz/t6/352/1533292059x-1566688712.jpg
https://static.52pojie.cn/static/image/hrline/1.gif
# Say
之前看到有人要这个,之前的还是破解的还不能用了, 网上搜了一下原理,发现就是一个爬虫....
因为涉及到界面,使用delphi/C#方便一点, 此处使用delphi.
后来想了一下, 或许最简单的是纯前端js+html.有兴趣的童鞋可以做一下,
因为时间问题就做了百度和高德的另外两个没做,有兴趣的可以补一下配置文件
# ps.
因为原理简单, 就是爬虫, 所以开始设计的时候想的是一切皆可配置, 后来发现 仅仅百度和高德的接口 需要的参数个数都不一样, 放弃.
本来想用一部分js代替一部分不好配置/理解的 配置, 原理是使用windows的Ole的ScriptControl
因为在传递过长的json的时候js会解析不出来. json短的时候是可以的.加了json2.js 也不行,放弃
# 配置文件解读
```
height=530
width=950
```
窗体大小
```
name=名字|200
```
列,配置几列显示几列 第一个为filedName 一二个Caption 第三个列宽
```
baidu=https://map.baidu.com/?newmap=1&reqflag=pcmap&biz=1&from=webmap&da_par=direct&pcevaname=pc4.1&qt=con&from=webmap&c=%area%&wd=%searchkey%&wd2=&pn=%pageNumber%&nn=%startNumber%&db=0&sug=0&addr=0
```
这个就是要爬的网站,这里配置几个 界面上显示几个
有几个特殊标记是用来替换爬虫地址的
;c=%area% 地区 详见***Cityz.B...baiduCity
;wd=%searchkey% 要搜索的字符串
;pn=%pageNumber% 第几页
;nn=%startNumber% 从第几个开始(百度特有的)
```
count=result.total
page=10
list=content
addr=addr
tag=di_tag
tel=tel;
area_name=area_name
```
这里的百度对应着中的baidu
count~area_name对应着中的FiledName
等号后面是解析获取到数据解析Json时候的数据
count=result.total
page=10
list=content
这三个是特殊的 必须配置的
分别是总条数(count)和 每页有多少个数据 (page)以及内容列表在那(list)
除了page 以外 其它都是Json中的位置
```
count=result.total
page=10
list=content
name=name
ext_info=ext_info
```
因为百度/高德都不允许不给省份/市区就查找 如果不给的话就显示出各个地区有多少个结果意思和一样的就是因为返回的json数据不同,我们要提取和显示的地方也不同而已
```
拉萨市=100
```
这个就是百度城市对应的编码get url的时候要用, 中的 baidu 对应着和中的baidu
```
上海市=310000
```
同理 高德用的邮政编码 不传城市的时候会返回给你
链接: https://pan.baidu.com/s/18Kzm85KopVPtNgDYCHrcrw 密码: 9q2f 大佬,有个问题请问一下,爬取出来的经纬度格式好像不对啊,是因为在EXCEL里面打开的问题吗?还是需要转换具体是怎么样的?
例子:12014577.09,3047296.36;
这是其中一个弄出来的坐标,但是小数只是后面两位,我看好多网上的坐标是类似127.3215461231这样,前面比较大,后面小数可以转化为秒和分的。请问这个软件爬出来的要怎么转化啊 wksbb 发表于 2018-6-28 18:56
能搜到电话就完美了 谢谢楼主
有电话的 但是百度/高德 都是只有部分店有 只要网站上你可以看到电话,这里也是有的 沙发,顶你 能搜到电话就完美了 谢谢楼主 学习了,谢谢楼主 搜到的都是没有电话的啊 可以弄一个有手机的吗 能搜索到村庄名字和经纬度坐标就可以 可以作为配置型的.
处理的时候识别源是百度还是高德,调用不同的方法就是了