新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在进行定量城市分析时(如研究某市某片区的空间分析),需要用到地理位置信息以及现状设施建筑等的分布情况,这就必须获得相关的地理坐标信息。因此数据的获取与处理是进行定量城市分析所需的前置作业,此阶段的工作决定了后续分析的效度和质量。
目前创新互联建站已为1000+的企业提供了网站建设、域名、网页空间、成都网站托管、企业网站设计、番禺网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
这里采集数据使用到的工具是火车头采集器8.5。
火车头采集器一款互联网数据抓取、处理、分析,挖掘软件,可以抓取网页上散乱分布的数据信息,并通过一系列的分析处理,准确挖掘出所需数据。
特点:采集不限网页,不限内容;
分布式采集系统,提高效率;
支持PHP和C#插件扩展,方便修改处理数据,但需要懂得火车头规则或者正则表达式。
API是一些预先定义的函数,目的是提供应用程序开发人员基于某软件或硬件得以访问一组程序的能力,而又无需访问源码,或理解程序内部工作机制的细节。API服务商在提供数据的同时也在收集用户的信息,这是一个双向过程。
百度地图Web服务API中提供了地点检索服务、正/逆地理编码服务、路线规划、批量算数、时区服务、坐标转换服务及鹰眼轨迹服务等。其中地点检索服务(又名Place API),提供多种场景的地点(POI)检索功能,包括城市检索、周边检索、矩形区域检索。
以通过百度地图API获取绵阳市饭店数据为例。
1.申请百度地图开放平台开发者秘钥
首先打开百度地图开放平台(),点击右上角控制台,再点击应用管理→我的应用→创建应用,申请开发者秘钥(ak),并选择以下服务项。
2.通过接口获取详细地理信息
开发者可以通过接口获取地点(POI)基础或详细地地理信息。其返回的是Json类型数据(一个区域最大返回数是400,每页最大返回数为20)。当某区域、,某类POI个数多于400时,可以选择把该区域分成子区域进行检索或通过矩形、圆形区域方式进行检索查阅页面中Place检索格式和实例如下:
格式: ;query=关键字bounds=查询区域output=输出格式类型key=用户密钥
实例: ;query=ATM机bounds=绵阳output=jsonak=你的密钥 (你的秘钥就是上一步申请得到的)
(什么是Place API详细说明可见此网址)
其中“关键字”、“查询区域”、“输出格式类型”、“用户秘钥”可以根据自己的需要替换,而page_num为选填项,表示分页码,因为只有设置了page_num字段才会在结果页面中返回标识总条数的total字段,方便在火车采集器中做相关设置,如下:
;query=饭店tage=美食region=绵阳output=jsonpage_num=0ak=kRA0vIfH6UHEVYUAhPLnkS72BwtVBYnI
访问该网址,返回结果如下图:
3.用火车头采集器采集地理信息
在火车头软件中,首先点击左上角的“新建”,然后点击“分组”进入新建界面自己命名然后保存既可。建好分组后,再点击新建。然后点击“任务”,命名为“百度API”。
然后在第一步--采集规则页面,点击“添加”键,在添加开始采集网址页面,选择“批量/多页”方式获取地址格式,在地址格式一栏中填入Place检索链接,并将page_num字段用(*)标识为变量,选择等差数量方式,在项数与返回Json结果中total字段一致,公差为1。
在访问百度地图API接口返回的Json网页中,在需要提取信息处复制该条信息。例如复制此处获得“name”:周肥肠(总店)”,。
在火车头采集器第二步采集内容规则页面,添加标签,标签名填入“名称”,提取数据方式处选择“前后截取”,在标签编辑页用(*)代替要采集的内容,并将要采集内容的前后内容分别填入“开始字符串”、“结束字符串处”。
经度、纬度的获取方式与“名称”方式相同。
添加完成后,点击规则测试页面的“测试”键,对POI的“名称”、“经度”、“纬度”三种标签进行测试,测试可以得到正确获取信息之后,进入“第三步:发布内容设置”页面,选择“方式二:保存为本地Word,Excel,Html,Txt等文件”,并制作与标签相对应的Gsv格式的模板,完成后,点击“保存”按钮,采集数据就完成了。
退回到主界面,在“采网页”及“采内容”下打对勾,点击开始任务,即可完成百度地图绵阳市饭店的数据获取。
简单的分了几个步骤:
1、确定采集目标
2、获取目标远程页面内容(curl、file_get_contents)
3、分析页面html源码,正则匹配你需要的内容(preg_match、preg_match_all),这一步最为重要,不同页面正则匹配规则不一样
4、入库
一般来说,PHP采集数据最简单的办法是使用file_get_content函数,功能更强大的推荐使用cURL函数库。
如何在页面中调用百度地图,直接在你想要插入的页面上调用百度地图代码即可
百度地图调用API地址:
1.设置定位中心:直接搜索你要找的位置即可。
调用百度地图代码
2.设置地图:设置地图样式,如大小,显示,功能等。
3.添加标注:添加你要标注的地方,自定义坐标位置
4.获取代码:点击获取代码即可,在你要插入百度地图的地方出入百度地图代码
只要插入!--引用百度地图API--部分的代码就行。