技术研究 | 零编程数据爬取之:火车头数据爬取(三)

时间:2019-07-12
技术研究 | 零编程数据爬取之:火车头数据爬取(三)
2.   通过源代码中的标签截取页面中的信息

在爬取到小区名称、房屋均价、物业类型、物业费、总建面积、总户数、建造年代、停车位、容积率、绿化率、开发商、物业公司等标签后,还有一项重要内容,就是小区的位置。通常来说,房屋租售网站页面上显示的地图都是来源于百度或者高德地图,开发者需要做的就是在网页代码中调用地图的时候输入社区的经纬度,因此我们可以通过网页源代码爬取出社区的经纬度。另外一个经验是,大部分开发者在编写网页时选择表示经纬度的方式都是“latitude、longitude”“lat、lng”或者“lat、lon”组合,如果在网页源代码中搜索不到这几个标签组合的话,还可以以社区所在地的坐标进行搜索。例如深圳的经度在东经113°,搜索“113.”,可以看到

找到小区的坐标后,依照上一步前后截取标签的方法,从源代码中截取经纬度。此处在截取经度值时,其前段字符串中包含的纬度并非固定值,因此需要将纬度值设为变量。

设置好标签选项后,可以在火车采集器中测试采集效果。此处仍以深云村为例,粘贴该网页的网址后点击测试,可以看到结果为:


3.   制作模板,保存爬取内容

火车采集器允许用户将爬取到的内容发布到指定的网站、数据库或自行存储。在这一步骤中,将介绍模板制作,以csv文件格式存储爬取到的内容。火车采集器在安装时自带了一个默认模板,模板路径在软件安装路径下的“\火车采集器V8\System\FileTemplate\默认csv模版.csv”,可以复制一份模板出来进行编辑。用记事本打开csv格式的模板文件

接下来需要做的就是将第2章中的标签名称替换进文档中。此处要特别注意的是,模板中的方括号“[”“]”和逗号“,”都需要使用英文格式。编辑后的结果如图所示

在火车采集器的“第三步:发布内容设置”标签下,选择“启用:方式二”,设定保存文件格式、保存文件位置,文件模板选择上图刚刚编辑好的模板,并命名文件名

保存后,选择任务并点击“开始”,火车采集器便开始爬取数据。

为避免过量爬取数据引发网站的反爬措施,因此此处只爬取南山区前3页的数据。

爬取到的数据文件如下

在office2016及以上版本的Excel中,通过PowerMap功能可以以经纬度为坐标将数据落点在地图上。

在Excel中将文件另存为xlsx格式后,点击插入-三维地图

在三维地图中,将位置选择为经度和纬度,高度选择为均价,显示效果如图

也可将可视化效果改为热力图

该方法仅能针对少量数据爬取。大量数据爬取会给网站服务器带来过高压力,激发网站的反爬措施,因此此处也仅爬取了90条数据。而需要爬取大量数据时,则需要保存网页Cookie、变更IP等多种方式。


(附深圳全市小区二手房均价图)