搭建Node.js环境及启动服务安装node以及npm,用express模块启动服务,加入自己所需要的中间件即可,这个不是本文所要讨论的重点,可以参考网上的一些教程搭建环境。
用cheerio模块解析dom安装cheerio模块,使用cheerio模块解析dom,然后就可以类似jquery一样访问dom了。
varcheerio=require(‘cheerio’);let$=cheerio.load(html);
得到了这些URL,接下来就可以用这些URL访问具体的租房信息了,每个URL对应一个租房页面。根据租房信息的URL访问相应页面,爬取数据还是先进入页面打开开发者模式。这次我们需要解析房屋所在地信息,用来可视化显示。
$('td.house-xqxq-contenta.ablue')加上父标签可以过滤出更有针对性的dom,此时过滤出的是小区名称、本月均价、所在商圈等信息的dom,我们现在只需要第一个dom里面的数据,所以访问数组的[0]即可。
除此之外为还需要页面里面的一张展示房屋信息的一张图片,找到对应dom可以发现id为smainPic。
$(‘#smainPic’)[‘0’].attribs.src
这样访问即可得到图片的URL。
varmap=newBMap.Map(“container”);//创建地图实例map.centerAndZoom(“杭州”,12);varlocalSearch=newBMap.LocalSearch(map);localSearch.setSearchCompleteCallback(function(searchResult){varpoi=searchResult.getPoi(0);/地理位置信息/})ocalSearch.search(params[url].location);
获取经纬度以后再掉用相应的api在地图上显示即可,显示后再做什么效果,可自行发挥想象了。