数据挖掘工具分析北京房价 (一) 数据爬取采集

简介:

  一. 前言

         房价永远是最让人头疼且激动的话题,尤其是在帝都,多少人一辈子都为了一套房子打拼。正好我也想用一个大家比较关心的话题作为案例,把目前我开发的这套软件进行一次完整的演练。从数据采集,到清洗,分析,和最终可视化和报告的呈现,实现一次完整的流程。一方面可以给大家切实的分享一些有用的信息,再者可以更好地了解这套软件的使用流程。  关于本工具的介绍,可参考数据挖掘平台介绍(综述)——平台简介。

    

         自然的,文章分为四部分,本节是第一部分:数据爬取和采集。

     二.  准备工作

          俗话说巧妇难为无米之炊,没数据,分析就没有了意义。为了找到合适的数据,我翻到了链家的官网。http://beijing.homelink.com.cn/  这里的数据虽然远远算不上准确吧,毕竟挂在网上的东西和真实数据肯定会有差距,但可读性很好,数据也比较全。我们就看看怎么去爬取这些数据吧!

        链家官网:

         image

         总共的房源数是72964套在售,主要关心的数据是面积,价格,位置,特点,地理坐标,看房用户等(反映热度)。我们就看看能不能把这些数据抓到手!

         本次介绍的网页采集器有如下特点:

  • 不需要写正则表达式或者编写代码
  • 只需要将感兴趣的数据选中,并为其起名字(默认的名字亦可)
  • 设置批量执行的方法即可执行批量采集
  • 适合爬取列表型页面
  • 简单方便,效率较高
  • 能够爬取动态网页和需要登录的网页(这种操作稍微复杂一些)

 

 

            首先把“网页采集器”模块拖放到算法处理器中:

image

        下图是 网页采集器 的设置菜单:

image

    首先 填写URL路径,为二手房的数据路径,一般默认编码为UTF-8, 程序中做了对编码格式的识别功能。点击访问网页:

    即可在主窗口中,分别以原始HTML方式和浏览器方式浏览该网页:

image

      我一般会选用HTML 源代码的方式查看数据。

      将感兴趣的数据,从HTML中拷贝到“筛选字段”对话框中,系统会自动查找对应的路径

      image
image

   给属性起个名字,比如“介绍” ,点击添加字段,即可完成一个属性的添加。

     同样的,可以把超链接也做同样的处理,添加字段。

image

  在选择数据时,尽可能选择比较有代表性的数据,同时,要把数据分布在列表的不同项中。

   你可以随时查看和修改添加的属性,在高级选项中,点击属性列表:,即可查看当前添加的所有属性,并进行增删改查。

image
   在选择了五个感兴趣的数据之后,可点击“开始爬取”。此时程序会尝试在本网页上进行一次抓取,我们可通过这样的尝试判断程序执行的准确性:

获取了12项,同时点击查看:

  image

  

   image

   类似的,我们可以将其他包括楼层数,朝向等,都通过类似的方法进行添加。如果确实一些数据程序无法自动发现,可通过手写XPATH进行解决。

        3. 批量任务

       添加了多达10个属性,并进行网页爬取测试后,我们认为程序设置没有问题了,那就可以进行批量网页爬取了。

       具体的方法,可以设置批量任务属性。 从网页上看到,总共有6073页:

image

  

       同时,不同的页面区别仅在URL的最后: 

      http://beijing.homelink.com.cn/ershoufang/pg2/

      http://beijing.homelink.com.cn/ershoufang/pg6074/ 

       所以批量参数可以写成:

   http://beijing.homelink.com.cn/ershoufang/{0}/ ,可以把需要替换的数字改为大括号括起来的形式。 

       image

    加上10ms的延时。

    将当前的爬虫保存为一个任务,同时起名字为“链家爬虫”

  image

    接下来,即可在菜单栏中, 运行->任务->启动批量任务

   image

  选择要执行的任务为“链家爬虫”:

image

设置要遍历的模块为网页采集器:

image

选取遍历的参数:

image

设置参数列表:

   image

   可以在左侧填写间隔,最大值和最小值生成参数,同时也可以在右侧,以每行一个参数填写要遍历的参数。我们生成的参数为1-6074

   点击完成,即可执行批量任务:

   image

   大概在两小时后,即可爬取所有的数据~~~哈哈哈

     image

   查看一下战果:

image

我们将数据导出成文件,方便下次进行分析。(也可以保存到数据库)

选择文件格式,填写文件名:

image

选择要导出的字段,和是否要修改字段的名称:

image

点击确定,即可将数据导出完毕。

任务完成!

  三. 总结

      这次战果斐然,在两小时内采集了七万条数据,而整个配置的时间仅仅不到两分钟。但是必须发现,有很多数据是有问题的,比如面积和一些属性为空,会对后期做数据分析造成影响。因此下一节我们介绍数据清洗工作,敬请期待。


作者:热情的沙漠
出处:http://www.cnblogs.com/buptzym/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


 本文转自FerventDesert博客园博客,原文链接:http://www.cnblogs.com/buptzym/p/3946357.html,如需转载请自行联系原作者

目录
相关文章
|
5月前
|
SQL 存储 算法
【数据挖掘】恒生金融有限公司2023届秋招数据ETL工程师笔试题解析
恒生科技2022年9月24号数据ETL工程师岗位的笔试题目及答案汇总,包括了SQL选择题、SQL编程题和业务应用SQL编程题,涵盖了数据库基础知识、SQL语句编写以及数据仓库概念等多个方面。
73 2
【数据挖掘】恒生金融有限公司2023届秋招数据ETL工程师笔试题解析
|
5月前
|
数据采集 自然语言处理 数据可视化
基于Python的社交媒体评论数据挖掘,使用LDA主题分析、文本聚类算法、情感分析实现
本文介绍了基于Python的社交媒体评论数据挖掘方法,使用LDA主题分析、文本聚类算法和情感分析技术,对数据进行深入分析和可视化,以揭示文本数据中的潜在主题、模式和情感倾向。
452 0
|
5月前
|
机器学习/深度学习 安全 算法
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 32页和40页论文及实现代码
本文总结了2023年第十一届泰迪杯数据挖掘挑战赛A题的新冠疫情防控数据分析,提供了32页和40页的论文以及实现代码,涉及密接者追踪、疫苗接种影响分析、重点场所管控以及疫情趋势研判等多个方面,运用了机器学习算法和SEIR传染病模型等方法。
93 0
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 32页和40页论文及实现代码
|
5月前
|
机器学习/深度学习 安全 算法
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 建模方案及python代码详解
本文介绍了2023年第十一届泰迪杯数据挖掘挑战赛A题的解题思路和Python代码实现,涵盖了新冠疫情防控数据的分析、建模方案以及数据治理的具体工作。
90 0
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 建模方案及python代码详解
|
5月前
|
数据采集 自然语言处理 数据可视化
基于python数据挖掘在淘宝评价方面的应用与分析,技术包括kmeans聚类及情感分析、LDA主题分析
本文探讨了基于Python数据挖掘技术在淘宝评价分析中的应用,涵盖了数据采集、清洗、预处理、评论词频分析、情感分析、聚类分析以及LDA主题建模和可视化,旨在揭示淘宝客户评价中的潜在模式和情感倾向,为商家和消费者提供决策支持。
121 0
|
5月前
|
SQL 开发框架 大数据
【数据挖掘】顺丰科技2022年秋招大数据挖掘与分析工程师笔试题
顺丰科技2022年秋招大数据挖掘与分析工程师笔试题解析,涵盖了多领域选择题和编程题,包括动态规划、数据库封锁协议、概率论、SQL、排序算法等知识点。
109 0
|
5月前
|
机器学习/深度学习 算法 数据挖掘
【数据挖掘】PCA 主成分分析算法过程及原理讲解
主成分分析(PCA)的原理和算法过程。
181 0

热门文章

最新文章