论文部分内容阅读
随着信息革命的到来,互联网的蓬勃发展,生活方式的改变,网络成为了我们日常生活的必需品。面对大量的网络资源,学会合理地使用搜索引擎则可以给我们带来很多方便。在搜索引擎中,我们利用一些关键字进行搜索,它就会返回给我们大量的跟这个关键字相关的信息,在这个过程中,不得不提的就是爬虫技术了。搜索引擎就是充分地运用了爬虫技术才得以从海量的信息网络中抓取到与之关联的信息,并快速地响应给我们。但是随着数据时代的到来,网络信息浩如烟海,随着技术的更迭,反爬虫也越来越得到重视与加强,从中提取出我们需要的信息也变得越来越困难了。另外,房价现在是我们生活中最热门的词汇之一,它与我们每一个人都息息相关。因此,房价的数据也是很值得做一番研究的,将计算机网络爬虫技术运用到房价中,则正是本文研究的内容之一。首先,我们需要一些房价的数据。在此之前,我们需要确定房价数据的来源,即目标网站。对比分析了几个著名的房产信息网站,最后确定了以“安居客”为爬取对象。然后,就是如何抓取房价数据了,这方面的工作可以通过计算机爬虫技术来完成。针对爬虫本身,本文中我运用了一款新型的网络爬虫框架,名叫elastic-spider,这是一款基于java语言开发的分布式爬虫框架。这也是本文的重点研究内容之一。现阶段,使用得比较广泛的网络爬虫框架有Nutch、Scrapy、Crawler4j等,但是它们都存在一些缺陷,Nutch定制爬取能力很弱,且集群中数量如果太少的话,爬取效率很低;Scrapy抓取速度较慢;Crawler4j不支持动态网页的抓取,即对AJAX的请求不支持。而elastic-spider网络爬虫框架则能很好地解决上述几个问题,它主要有三大优点。第一、该框架是异步的,因此执行效率非常高;第二、该框架支持分布式爬取,不会因为集群中的单节点挂掉,导致整个服务不可用;第三、该框架可扩展性极强,下载、解析,存贮等模块均支持由开发者自由扩展。本次研究所实现的网络爬虫程序正是基于elastic-spider爬虫框架实现的。该爬虫共计爬取了北京市1250个楼盘的房价信息,总耗时25分钟,即平均每分钟爬取50个楼盘信息,且突破了目标网站的反爬虫策略,整体爬取速度还是很高效的。不仅如此,该爬虫也被部署到了七台物理机上,稳定性很高,不会因为集群中的某一台物理机挂掉而导致该爬虫服务不可用。最后,通过对数据挖掘领域中常用的两种研究方法,决策树分析方法和KNN分类算法的研究,将房价数据与数据挖掘技术相结合起来。经过数据预处理、分析建模、预测等研究,得出了最终的研究成果。