获取房价的方法、装置、计算机设备和存储介质与流程

文档序号:16919553发布日期:2019-02-19 19:14阅读:229来源:国知局
获取房价的方法、装置、计算机设备和存储介质与流程

本发明涉及到数据处理的技术领域,特别是涉及到一种获取房价的方法、装置、计算机设备和存储介质。



背景技术:

房价数据是一种与地理位置密切相关的数据,且与不同的网站休戚相关,如目前主流的房产网站房天下、安居客等网站上的房价数据庞大,而做房价评估参考时需要获得这些房价数据,市面上需要获取房价数据时,一般都是通过开发一些python、java程序,进行互联网数据爬取,从而得到房价数据,但是开发工作量大,这样的程序一般只适用于部分程序员,使用面窄且单机爬取效率低,也不能实时进行收集统一处理。



技术实现要素:

本发明的主要目的为提供一种操作简单且效率高的获取房价的方法、装置、计算机设备和存储介质。

本发明提出一种获取房价的方法,包括:

获取第一房产网站的第一css样式;

根据所述第一css样式配置第一爬取规则;

根据所述第一爬取规则爬取所述第一房产网站的页面数据,并通过所述页面数据获得房价数据。

进一步地,所述根据所述第一爬取规则爬取所述第一房产网站的页面数据的步骤之后,包括:

判断根据所述第一爬取规则是否爬取到第二房产网站的页面数据;

若否,则获取第二房产网站的第二css样式,并根据所述第二css样式配置第二爬取规则,根据所述第二爬取规则爬取所述第二房产网站的页面数据。

进一步地,所述根据所述第一css样式配置第一爬取规则的步骤之后,包括:

向爬虫服务器发送所述第一爬取规则,所述第一爬取规则被所述爬虫服务器存储于爬虫元数据表。

进一步地,所述根据所述第一爬取规则爬取所述房产网站的页面数据的步骤,包括:

接收所述爬虫服务器根据所述第一爬取规则生成的爬取指令;

根据所述爬取指令爬取所述房产网站的页面数据。

进一步地,所述接收所述爬虫服务器根据所述第一爬取规则生成的爬取指令的步骤,包括:

接收所述爬虫服务器按照指定频率根据所述第一爬取规则生成的所述爬取指令。

进一步地,所述通过所述页面数据获得房价数据的步骤,包括:

在所述页面数据获取满足预设条件的需求数据,所述预设条件为用户根据使用需求而预设的参数条件;

将所述需求数据进行清洗处理得到所述房价数据。

进一步地,所述将所述需求数据进行清洗处理得到所述房价数据的步骤之后,包括:

根据所述房价数据按照预设规则计算城市均价以及城市内的小区房产均价,其中所述城市均价为每个城市的房产平均价格,所述小区房产均价为所述城市的小区内房产平均价格。

本发明还提供一种获取房价的装置,包括:

获取模块,用于获取第一房产网站的第一css样式;

配置模块,用于根据所述第一css样式配置第一爬取规则;

爬取模块,用于根据所述第一爬取规则爬取所述第一房产网站的页面数据,并通过所述页面数据获得房价数据。

本发明还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

本发明的有益效果为:通过获取房产网站的css样式来配置爬取规则,从而实现爬取需要的房价数据,操作简单,适用面宽,且这样爬取的效率高,能够实时将得到房价数据存储到数据库中,以便统一清洗处理。

附图说明

图1为本发明一实施例中获取房价的方法的步骤示意图;

图2为本发明一实施例中获取房价的装置的结构示意框图;

图3为本发明另一实施例中获取房价的装置的结构示意框图;

图4为本发明一实施例的计算机设备的结构示意框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,本实施例中的获取房价的方法,包括:

步骤s1:获取第一房产网站的第一css样式;

步骤s2:根据所述第一css样式配置第一爬取规则;

步骤s3:根据所述第一爬取规则爬取所述第一房产网站的页面数据,并通过所述页面数据获得房价数据。

在步骤s1中,客户端可获得第一房产网站的第一css样式,已知的是,现有的房产网站可以包括多个不同的房产网站,如现有房天下网站或安居客网站。css(cascadingstylesheets)又称层叠样式表,能够对网页中元素位置的排版进行像素级精确控制,几乎支持所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,本实施例中的css样式即为网站的模型样式,可以理解的是,每个网站的同类型页面都采用相同的css样式,而不同房产网站之间可能采用相同的css样式,或不同的css样式,故而可以先获取房产网站中其中一个房产网站的css样式,为了便于区别,该房产网站名为第一房产网站,对应的css样式为第一css样式。在配置第一爬取规则之前先查看第一房产网站的第一css样式,从而获得第一css样式,具体地,可以利用谷歌、火狐浏览器自带的开发工具查看房产网站的css样式。

客户端爬取网站的页面数据需按一定的规则,才可进行爬取。具体的说,网络爬虫基本都是基于页面结构实现数据获取的,先通过获取网页文档,将网页文档解析成dom树的规则,文档中的所有元素都用树的节点来表示,根据dom树构建爬取规则,实现数据爬取,由于网页信息源的异构性,为了不损失抽取精度,需要针对每个网站都构造相应的爬取规则,该规则可自定义配置,本实施例中,客户端根据第一css样式来配置第一爬取规则,如根据上述第一房产网站的第一css样式,设定针对采用上述第一css样式的第一房产网站页面的第一爬取规则,进而根据第一爬取规则爬取页面数据,其中页面数据包括房产名称、房产地址、房产价格等数据,最后可从上述页面数据中获得需要的房价数据。

在一个实施例中,上述根据所述第一爬取规则爬取所述第一房产网站的页面数据的步骤之后,包括:

步骤s4:判断根据所述第一爬取规则是否爬取到第二房产网站的页面数据;

步骤s5:若否,则获取第二房产网站的第二css样式,并根据所述第二css样式配置第二爬取规则,根据所述第二爬取规则爬取所述第二房产网站的页面数据。

本实施例中,由于不同的网站的css样式基本不相同,同一个网站的不同类型的页面的css样式也有可能不同,故而当通过第一css样式配置第一爬取规则,并爬取到需要数据时,通过该第一爬取规则并不一定能爬取其他房产网站的数据,所以根据第一爬取规则爬取第一房产网站的页面数据之后,根据第一爬取规则去尝试爬取第二房产网站的页面数据,从而判断根据第一爬取规则是否爬取到第二房产网站的页面数据,如果爬取不到数据,则可以根据实际情况,查看没有爬取到的第二房产网站的第二css样式,从而根据该第二css样式配置第二爬取规则,然后根据第二爬取规则再次爬取第二房产网站,得到第二房产网站的页面数据,如此重复上述步骤多次,可分别得到第三爬取规则、第四爬取规则等,然后分别根据这些爬取规则去爬取房产网站,即可得到大量的房价数据。

在一个实施例中,上述步骤s2,包括:

步骤s20:向爬虫服务器发送所述第一爬取规则,所述第一爬取规则被所述爬虫服务器存储于爬虫元数据表。

本步骤中,客户端可通过可视化配置第一爬取规则,并在配置完成第一爬取规则之后,将该第一爬取规则发送至爬虫服务器,爬虫服务器将该第一爬取规则存储于爬虫元数据表,爬虫元数据表可用于存储数据、调度数据或按照存储数据的内容执行相关的命令,如将上述第一爬取规则存储于爬虫元数据表之后,想要再次进行爬取数据时,爬虫元数据表可直接根据指令调度出上述第一爬取规则,用于生成爬取指令,避免每次进行爬取数据之前都要配置第一爬取规则,节省了步骤与资源。优选地,根据上述步骤s4及s5,也可将上述配置的第二爬取规则存储于爬虫元数据表。

本实施例中,上述步骤s3,包括:

步骤s30:接收所述爬虫服务器根据所述第一爬取规则生成的爬取指令;

步骤s31:根据所述爬取指令爬取所述第一房产网站的页面数据。

上述客户端根据第一爬取规则爬取第一房产网站的页面数据,具体的说,上述爬取指令的生成方法,包括:爬虫服务器触发爬取任务;根据爬取任务生成调度指令;按照上述调度指令在爬虫元数据表中获取第一爬取规则;最后根据第一爬取规则生成上述爬取指令,最后根据上述爬取指令爬取上述第一房产网站的页面数据。

优选地,上述步骤s30,包括:

步骤s300:接收所述爬虫服务器按照指定频率根据所述第一爬取规则生成的所述爬取指令。

本实施例中,爬虫服务器中的调度器按照指定频率触发爬取任务,并根据该爬取任务发送调度指令至爬虫元数据表,爬虫元数据表根据该调度指令将上述第一爬取规则调度出来,并发送给爬虫服务器,爬虫服务器根据该第一爬取规则生成爬取指令,再将该爬取指令发送至客户端,由客户端执行该爬取指令。上述指定频率可根据实际情况自定义设置,如指定频率设置为每8小时触发一次爬取任务。

具体的说,为了提高爬取效率,避免同一个客户端的任务堆积,上述爬虫服务器将该爬取指令发送给多个不同的客户端,以让任务少的客户端首先执行该爬取指令。举例地,爬虫服务器同时将爬取指令发送给a、b、c三个客户端,其中a客户端有十个任务在等待执行,b客户端有五个任务在等待执行,c客户端有两个任务在等待执行,当c客户端完成两个任务后首先执行上述爬虫指令。

在一个实施例中,上述通过所述页面数据获得房价数据的步骤,包括:

步骤s6:在所述页面数据中获取满足预设条件的需求数据,所述预设条件为用户根据使用需求而设定的参数条件;

步骤s7:将所述需求数据进行清洗处理得到所述房价数据。

本实施例中,当爬取到页面数据时,将页面数据通过爬虫服务器写入第一数据库,进而缓存上述页面数据,以便后续处理,其中,所述第一数据库用于存储结构化数据以及非结构化数,如第一数据库可为mongodb数据库。根据爬取指令爬取到的数据一般为非结构化数据,上述非结构化的数据为没有固定结构的数据,包括所有格式的办公文档、文本、图片、xml、html、各类报表、图像和音频/视频信息等数据,由于这些数据种类繁多,且包含有许多不必要的数据,如与房价数据无关的文本、图片等数据,即上述爬取到的页面数据包括需求数据以及非需求数据,其中,满足预设条件的数据为需求数据,具体的说,预设条件为用户根据使用需求而预设的参数条件,对于不同需求,可设置不同参数,从而获取不同的需求数据,如对于用户需要用于展示的与房价相关的图片数据,对应设置的参数为图片中的指定图形;又如用于计算或对比的房价数据,则设置相应的参数为关于房价的关键词。非需求数据即为页面数据中与房价数据无关的、用户使用不上的数据,如页面数据中的广告数据。上述步骤s6中,在第一数据库中查找上述需求数据,具体的说,先预设需求数据的关键词,根据上述关键词在第一数据库中查找需求数据,查找到需求数据后,即可将这些需求数据进行加工使用,但是由于非结构化数据为一大段没有拆分的字符字段,为方便后续使用,需要将这些非结构化的需求数据先转化成结构化数据,上述结构化数据是指存储及排列有规律的数据,可通过二维表结构来表达的数据。

具体的说,上述非结构化的需求数据可以经过kettle或java等工具处理转化成结构化的需求数据,然后存入第二数据库,该第二数据库可以为oracle数据库。该第二数据库用于写入结构化数据,并具备清洗数据的功能,这样可以进一步地提炼所需要的信息,优选地,在第二数据库中,可将上述需求数据进行顺序调整、补缺、去噪、去重等清洗处理,然后从中获取需要的房价数据。

进一步地,上述将需求数据进行清洗处理得到所述房价数据的步骤之后,包括:

步骤s8:根据所述房价数据按照预设规则计算出城市均价以及城市内的小区房产均价,其中所述城市均价为每个城市的房产平均价格,所述小区房产均价为所述城市的小区内房产平均价格。

本实施例中,由于经过处理的房价数据为结构化数据,可以直接使用,即可根据上述处理后的房价数据计算得到城市均价以及城市内每个小区的房产均价,城市均价即每个城市的房产平均价格,可用于对比每个城市房价水平,评估的每个城市的各种指标等,小区房产均价即为城市小区内的每个房产的平均价格,其中获取到的房价数据包括以下两种:一种是有小区面积的房价,一种是没有小区面积的房价,然后将房价按照预设规则计算出平均房价,具体如下:当爬取到的数据具有小区面积,这时的城市均价可由avg=sum(小区面积*单价)/sum(小区面积)来计算,上述小区面积为城市里每个小区的面积,单价为单位面积内的小区价格,其中城市内小区房产的平均价格可由小区房产均价=(avg1*count1+avg2*count2+…+avgn*countn)/(count1+count2+…countn)来计算,上述avg为小区的每处房产的价格,count为小区每处房产的面积;当爬取到的数据不具有小区面积时,这时的爬取到的房价即默认为平均房价,得到平均房价后,即可以输出这个得到的数据,可以用于评估不同小区的房产价格水平,以及让用户买房时可以参考等。

进一步地,上述将房价按照预设规则计算出平均房价之后,包括:

步骤s10:将所述页面数据以及已处理的房价数据发送至第三数据库;

步骤s11:根据需求将第三数据库内的数据发送至应用系统。

在步骤s10中,将上述爬取到的页面数据以及处理得到的房价数据,发送至第三数据库,如通过flume同步至第三数据库,该第三数据库可以为hadoop集群,用于缓存上述爬取到数据,需要使用时再从中调出。

在步骤s11中,将存储于第三数据库内的数据再次进行处理,如将地址标准化等,然后将得到的数据汇总整理,最后根据需求将这些数据发送至应用系统,应用系统根据需求情况,将这些数据进行展示,如展示为:某小区某地址的平均房价为x万每方等。

参照图2,本实施例中获取房价的装置,包括:

获取模块100,用于获取第一房产网站的第一css样式;

配置模块200,用于根据所述第一css样式配置第一爬取规则;

爬取模块300,用于根据所述第一爬取规则爬取所述第一房产网站的页面数据,并通过所述页面数据获得房价数据。

在本实施例中,获取模块100可获得第一房产网站的第一css样式,已知的是,现在有房产网站可以包括多个不同的房产网站,如现有房天下网站或安居客网站。css(cascadingstylesheets)又称层叠样式表,能够对网页中元素位置的排版进行像素级精确控制,几乎支持所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,本实施例中的css样式即为网站的模型样式,可以理解的是,每个网站的同类型页面都采用相同的css样式,而不同房产网站之间可能采用相同的css样式,或不同的css样式,故而可以先获取房产网站中其中一个房产网站的css样式,为了便于区别,该房产网站名为第一房产网站,对应的css样式为第一css样式。在配置第一爬取规则之前先查看第一房产网站的第一css样式,从而获得第一css样式,具体地,可以利用谷歌、火狐浏览器自带的开发工具查看房产网站的css样式。

客户端爬取网站的页面数据需按一定的规则,才可进行爬取。具体的说,网络爬虫基本都是基于页面结构实现数据获取的,先通过获取网页文档,将网页文档解析成dom树的规则,文档中的所有元素都用树的节点来表示,根据dom树构建爬取规则,实现数据爬取,由于网页信息源的异构性,为了不损失抽取精度,需要针对每个网站都构造相应的爬取规则,该规则可自定义配置,本实施例中,配置模块200根据第一css样式来配置第一爬取规则,举例地,根据上述第一房产网站的第一css样式,设定针对采用上述第一css样式的第一房产网站页面的第一爬取规则,然后爬取模块300根据第一爬取规则爬取页面数据,其中页面数据包括房产名称、房产地址、房产价格等数据,最后可从上述页面数据中获得需要的房价数据。

在一个实施例中,参照图3,上述获取房价的装置,还包括:

判断模块400,用于判断根据所述第一爬取规则是否爬取到第二房产网站的页面数据;

配爬模块500,用于判定根据所述第一爬取规则未爬取到第二房产网站的页面数据时,获取第二房产网站的第二css样式,并根据所述第二css样式配置第二爬取规则,根据所述第二爬取规则爬取所述第二房产网站的页面数据。

本实施例中,由于不同的网站的css样式基本不相同,同一个网站的不同类型的页面的css样式也有可能不同,故而当通过第一css样式配置第一爬取规则,并爬取到需要数据时,通过该第一爬取规则并不一定能爬取其他房产网站的数据,所以根据第一爬取规则爬取第一房产网站的页面数据之后,判断模块400根据第一爬取规则去尝试爬取第二房产网站的页面数据,从而判断根据第一爬取规则是否爬取到第二房产网站的页面数据,如果爬取不到数据,则可以根据实际情况,查看没有爬取到的第二房产网站的第二css样式,从而根据该第二css样式配置第二爬取规则,然后根据第二爬取规则再次爬取第二房产网站,得到第二房产网站的页面数据,如此重复多次,可分别得到第三爬取规则、第四爬取规则等,然后分别根据这些爬取规则去爬取房产网站,即可得到大量的房价数据。

在一个实施例中,上述配置模块200,包括:

存储子模块,用于向爬虫服务器发送所述第一爬取规则,所述第一爬取规则被所述爬虫服务器存储于爬虫元数据表。

客户端可通过可视化配置第一爬取规则,并在配置完成第一爬取规则之后,将该第一爬取规则发送至爬虫服务器,爬虫服务器将该第一爬取规则存储于爬虫元数据表,爬虫元数据表可用于存储数据、调度数据或按照存储数据的内容执行相关的命令,如将上述第一爬取规则存储于爬虫元数据表之后,想要再次进行爬取数据时,爬虫元数据表可直接根据指令调度出上述第一爬取规则,用于生成爬取指令,避免每次进行爬取数据之前都要配置第一爬取规则,节省了步骤与资源。优选地,若配置有第二爬取规则,也可将上述配置的第二爬取规则存储于爬虫元数据表。

本实施例中,上述爬取模块300,包括:

生成子模块,用于接收所述爬虫服务器根据所述第一爬取规则生成的爬取指令;

爬取子模块,用于根据所述爬取指令爬取所述第一房产网站的页面数据。

上述客户端根据第一爬取规则爬取第一房产网站的页面数据,具体的说,上述爬取指令的生成方法,包括:爬虫服务器触发爬取任务;根据爬取任务生成调度指令;按照上述调度指令在爬虫元数据表中获取第一爬取规则;最后根据第一爬取规则生成上述爬取指令,最后根据上述爬取指令爬取上述第一房产网站的页面数据。

优选地,上述爬取模块300,包括:

接收子模块,用于接收所述爬虫服务器按照指定频率根据所述第一爬取规则生成的所述爬取指令。

本实施例中,上述接收子模块中,爬虫服务器中的调度器按照指定频率触发爬取任务,并根据该爬取任务发送调度指令至爬虫元数据表,爬虫元数据表根据该调度指令将上述第一爬取规则调度出来,并发送给爬虫服务器,爬虫服务器根据该第一爬取规则生成爬取指令,再将该爬取指令发送至客户端,由客户端执行该爬取指令。上述指定频率可根据实际情况自定义设置,如指定频率设置为每8小时触发一次爬取任务。

具体的说,为了提高爬取效率,避免同一个客户端的任务堆积,上述爬虫服务器将该爬取指令发送给多个不同的客户端,以让任务少的客户端首先执行该爬取指令。举例地,爬虫服务器同时将爬取指令发送给a、b、c三个客户端,其中a客户端有十个任务在等待执行,b客户端有五个任务在等待执行,c客户端有两个任务在等待执行,当c客户端完成两个任务后首先执行上述爬虫指令。

在一个实施例中,上述获取房价的装置,包括:

获需模块,用于在所述页面数据中获取满足预设条件的需求数据,所述预设条件为用户根据使用需求而设定的参数条件;

清洗模块,用于将所述需求数据进行清洗处理得到所述房价数据。

本实施例中,当爬取到页面数据时,将页面数据通过爬虫服务器写入第一数据库,进而缓存上述页面数据,以便后续处理,其中,所述第一数据库用于存储结构化数据以及非结构化数,如第一数据库可为mongodb数据库。根据爬取指令爬取到的数据一般为非结构化数据,上述非结构化的数据为没有固定结构的数据,包括所有格式的办公文档、文本、图片、xml、html、各类报表、图像和音频/视频信息等数据,由于这些数据种类繁多,且包含有许多不必要的数据,如与房价数据无关的文本、图片等数据,即上述爬取到的页面数据包括需求数据以及非需求数据,其中,满足预设条件的数据为需求数据,具体的说,预设条件为用户根据使用需求而预设的参数条件,对于不同需求,可设置不同参数,从而获取不同的需求数据,如对于用户需要用于展示的与房价相关的图片数据,对应设置的参数为图片中的指定图形;又如用于计算或对比的房价数据,则设置相应的参数为关于房价的关键词。非需求数据即为页面数据中与房价数据无关的、用户使用不上的数据,如页面数据中的广告数据。上述获需模块可在第一数据库中查找上述需求数据,具体的说,先预设需求数据的关键词,根据上述关键词在第一数据库中查找需求数据,查找到需求数据后,即可将这些需求数据进行加工使用,但是由于非结构化数据为一大段没有拆分的字符字段,为方便后续使用,需要将这些非结构化的需求数据先转化成结构化数据,上述结构化数据是指存储及排列有规律的数据,可通过二维表结构来表达的数据。

具体的说,上述非结构化的需求数据可以经过kettle或java等工具处理转化成结构化的需求数据,然后存入第二数据库,该第二数据库可以为oracle数据库。该第二数据库用于写入结构化数据,并具备清洗数据的功能,这样可以进一步地提炼所需要的信息,优选地,清洗模块可将上述需求数据进行顺序调整、补缺、去噪、去重等清洗处理,然后从中获取需要的房价数据。

进一步地,上述获取房价的装置,还包括:

计算模块,用于根据所述房价数据按照预设规则计算出城市均价以及城市内的小区房产均价,其中所述城市均价为每个城市的房产平均价格,所述小区房产均价为所述城市的小区内房产平均价格。

本实施例中,由于经过处理的房价数据为结构化数据,可以直接使用,即根据上述处理后的房价数据计算得到城市均价以及城市内每个小区的房产均价,城市均价即每个城市的房产平均价格,可用于对比每个城市房价水平,评估的每个城市的各种指标等,小区房产均价即为城市小区内的每个房产的平均价格,其中获取到的房价数据包括以下两种:一种是有小区面积的房价,一种是没有小区面积的房价,然后将房价按照预设规则计算出平均房价,具体如下:当爬取到的数据具有小区面积,这时的城市均价可由avg1=sum(小区面积*单价)/sum(小区面积)来计算,上述小区面积为城市里每个小区的面积,单价为单位面积内的小区价格,其中城市内小区房产的平均价格可由小区房产均价=(avg1*count1+avg2*count2+…+avgn*countn)/(count1+count2+…countn)来计算,上述avg为小区的每处房产的价格,count为小区每处房产的面积;当爬取到的数据不具有小区面积时,这时的爬取到的房价即默认为平均房价,得到平均房价后,即可以输出这个得到的数据,可以用于评估不同小区的房产价格水平,以及让用户买房时可以参考等。

进一步地,上述上述获取房价的装置,还包括:

第一发送模块,用于将所述页面数据以及已处理的房价数据发送至第三数据库;

第二发送模块,用于根据需求将第三数据库内的数据发送至应用系统。

具体的说,第一发送模块将上述爬取到的页面数据以及处理得到的房价数据,发送至第三数据库,如通过flume同步至第三数据库,该第三数据库可以为hadoop集群,用于缓存上述爬取到数据,需要使用时再从中调出。根据需求可将存储于第三数据库内的数据再次进行处理,如将地址标准化等,然后将得到的数据汇总整理,最后第二发送模块根据需求将这些数据发送至应用系统,应用系统根据需求情况,将这些数据进行展示,如展示为:某小区某地址的平均房价为x万每方等。

参照图4,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储获取房价的方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种获取房价的方法。

上述处理器执行上述获取房价的方法的步骤:获取第一房产网站的第一css样式;根据所述第一css样式配置第一爬取规则;根据所述第一爬取规则爬取所述第一房产网站的页面数据,并通过所述页面数据获得房价数据。

上述计算机设备,上述根据所述第一爬取规则爬取所述第一房产网站的页面数据的步骤之后,包括:判断根据所述第一爬取规则是否爬取到第二房产网站的页面数据;若否,则获取第二房产网站的第二css样式,并根据所述第二css样式配置第二爬取规则,根据所述第二爬取规则爬取所述第二房产网站的页面数据。

在一个实施例中,上述根据所述第一css样式配置第一爬取规则的步骤之后,包括:向爬虫服务器发送所述第一爬取规则,所述第一爬取规则被所述爬虫服务器存储于爬虫元数据表。

在一个实施例中,上述根据所述第一爬取规则爬取所述第一房产网站的页面数据的步骤,包括:接收所述爬虫服务器根据所述第一爬取规则生成的爬取指令;根据所述爬取指令爬取所述第一房产网站的页面数据。

在一个实施例中,上述接收所述爬虫服务器根据所述第一爬取规则生成的爬取指令的步骤,包括:接收所述爬虫服务器按照指定频率根据所述第一爬取规则生成的所述爬取指令。

在一个实施例中,上述通过所述页面数据获得房价数据的步骤,包括:在所述页面数据中获取满足预设条件的需求数据,所述预设条件为用户根据使用需求而设定的参数条件;将所述需求数据进行清洗处理得到所述房价数据。

在一个实施例中,上述将所述需求数据进行清洗处理得到所述房价数据的步骤之后,包括:根据所述房价数据按照预设规则计算出城市均价以及城市内的小区房产均价,其中所述城市均价为每个城市的房产平均价格,所述小区房产均价为所述城市的小区内房产平均价格。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本发明一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种获取房价的方法,具体为:获取第一房产网站的第一css样式;根据所述第一css样式配置第一爬取规则;根据所述第一爬取规则爬取所述第一房产网站的页面数据,并通过所述页面数据获得房价数据。

上述计算机可读存储介质,上述根据所述第一爬取规则爬取所述第一房产网站的页面数据的步骤之后,包括:判断根据所述第一爬取规则是否爬取到第二房产网站的页面数据;若否,则获取第二房产网站的第二css样式,并根据所述第二css样式配置第二爬取规则,根据所述第二爬取规则爬取所述第二房产网站的页面数据。

在一个实施例中,上述根据所述第一css样式配置第一爬取规则的步骤之后,包括:向爬虫服务器发送所述第一爬取规则,所述第一爬取规则被爬虫服务器存储于爬虫元数据表。

在一个实施例中,上述根据所述第一爬取规则爬取所述第一房产网站的页面数据的步骤,包括:接收所述爬虫服务器根据所述第一爬取规则生成的爬取指令;根据所述爬取指令爬取所述第一房产网站的页面数据。

在一个实施例中,上述接收所述爬虫服务器根据所述第一爬取规则生成的爬取指令的步骤,包括:接收所述爬虫服务器按照指定频率根据所述第一爬取规则生成的所述爬取指令。

在一个实施例中,上述通过所述页面数据获得房价数据的步骤,包括:在所述页面数据中获取满足预设条件的需求数据,所述预设条件为用户根据使用需求而设定的参数条件;将所述需求数据进行清洗处理得到所述房价数据。

在一个实施例中,上述将所述需求数据进行清洗处理得到所述房价数据的步骤之后,包括:根据所述房价数据按照预设规则计算出城市均价以及城市内的小区房产均价,其中所述城市均价为每个城市的房产平均价格,所述小区房产均价为所述城市的小区内房产平均价格。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram一多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1