对获取的网页数据进行更新的系统及方法
【专利摘要】本发明公开了一种对获取的网页数据进行更新的系统及方法,方法包括:S1、利用网络爬虫从网页中抓取目标数据;S2、将目标数据打包成目标压缩文件,并对目标压缩文件添加MD5标签;S3、判断数据库服务器中是否存储网页数据及压缩文件,若是,则执行步骤S4,若否,则执行步骤S7;S4、判断网页数据的压缩文件与目标压缩文件的MD5值是否相同,若是,则执行步骤S5,若否,则执行步骤S6;S5、删除目标数据及目标压缩文件;S6、将网页数据及压缩文件分别更新为目标数据及目标压缩文件;S7、将目标数据及目标压缩文件存储至数据库服务器中。本发明能够判断出网页数据的更新,实现了对获取到的网页数据的及时更新。
【专利说明】对获取的网页数据进行更新的系统及方法
【技术领域】
[0001] 本发明涉及一种对获取的网页数据进行更新的系统及方法,特别是涉及一种能够 及时检测出获取的网页数据的更新并进行相应更新处理的系统以及一种利用所述系统实 现的对获取的网页数据进行更新的方法。
【背景技术】
[0002] 在现阶段的网络技术飞速发展的情况下,大数据时代已经来临,如何快速有效地 拉取网站的数据信息成为亟待解决的问题。现在很多的网站出于信息保护的目的,在对网 页数据进行更新时,一般不会在更新数据中提供时间戳这种标识时间的信息数据。因此,现 有技术中在抓取到网页数据后,基本无法判断网页数据的更新时间,一旦无法判断更新时 间,就无法判断抓取到的网页数据中哪些是更新过的数据,哪些是没有更新过的数据,从而 导致无法第一时间获取到网页中最新更新的数据。
[0003] 以在线旅游搜索平台为例,由于无法判断目标网站(例如各种酒店及订票网站)的 数据更新,导致很难在第一时间获取到最新更新的机票、酒店及火车票等资源信息,而数据 更新的实时性不高的话,会使得用户在进行相关信息查询时精准度变低,严重影响到用户 的使用体验。
【发明内容】
[0004] 本发明要解决的技术问题是为了克服现有技术中在线旅游搜索平台等无法及时 判断网站的数据更新,导致很难在第一时间获取到最新更新的机票、酒店及火车票等资源 信息,使得用户在进行相关信息查询时精准度变低,严重影响到用户的使用体验的缺陷,提 供一种能够及时检测出获取的网页数据的更新并进行相应更新处理的系统以及一种利用 所述系统实现的对获取的网页数据进行更新的方法。
[0005] 本发明是通过下述技术方案来解决上述技术问题的:
[0006] 本发明提供了一种对获取的网页数据进行更新的方法,其特点在于,所述方法包 括以下步骤:
[0007] Si、利用网络爬虫从一网页中抓取带有所述网页ID (身份识别号码)的目标数据;
[0008] S2、将所述目标数据打包成一目标压缩文件,并对所述目标压缩文件添加MD5 (消 息摘要算法第五版,计算机领域使用的一种散列函数)标签;
[0009] S3、判断一数据库服务器中是否存储带有所述网页ID的网页数据及所述网页数据 的压缩文件,若是,则执行步骤S 4,若否,则执行步骤S7 ;
[0010] S4、判断所述网页数据的压缩文件的MD5值与所述目标压缩文件的MD5值是否相 同,若是,则执行步骤S 5,若否,则执行步骤S6 ;
[0011] S5、删除所述目标数据及所述目标压缩文件,然后结束流程;
[0012] s6、将所述网页数据及所述网页数据的压缩文件分别更新为所述目标数据及所述 目标压缩文件,然后结束流程;
[0013] s7、将所述目标数据及所述目标压缩文件存储至所述数据库服务器中。
[0014] 在步骤Si中通过设定所述网页的网址,所述网络爬虫的递归算法以及网页数据的 定位信息后,所述网络爬虫就可以快速抓取所需要的网页数据,即所述目标数据,而所有的 目标数据都是在具有独有的唯一的ID的网页中的数据。
[0015] 此处的网页ID并不是指网页的URL (统一资源定位符)地址中的数字,而是表明 了所需数据的唯一身份标识,该网页ID与网页中的数据是对应的,并且它能够表征与之相 对应的一个独一无二的网页,而不同的网页也会具有不同的网页ID。
[0016] 在考虑到将抓取到的所述目标数据存储至所述数据库服务器的时候,首先会在步 骤33中判断所述数据库服务器中是否已经存储有同样来自所述网页的网页数据,即判断所 述数据库服务器中是否存储带有所述网页ID的网页数据以及与所述网页数据对应的压缩 文件。
[0017] 若是,则说明所述数据库服务器中已经存储有所述网页的网页数据,此时尚不能 确定抓取到的所述目标数据是否为所述网页最新更新的数据,需要进行后续判断;
[0018] 若否,则说明所述数据库服务器中尚未存储所述网页的网页数据,此时对所述数 据库服务器来说,所述目标数据为最新的网页数据,因此执行步骤s 7对所述数据库服务器 中存储的网页数据进行更新。
[0019] 而在判断出所述数据库服务器中已经存储有所述网页的网页数据及所述网页数 据的压缩文件时,会执行步骤S 4来继续判断所述网页数据的压缩文件的MD5值与所述目标 压缩文件的MD5值是否相同;
[0020] 若相同,则说明所述网页数据没有被更新过,即所述数据库服务器中存储的网页 数据是最新的,此时执行步骤S 5 ;若不相同,则说明步骤Si中抓取到的所述目标数据是最新 的,此时执行步骤S6对所述数据库中存储的网页数据进行更新。
[0021] 这样,通过本发明的方法就能够保证所述数据库服务器中存储的网页数据一直是 最新,实现了对获取到的网页数据的及时更新,同时减少了所述数据库服务器中的数据冗 余。
[0022] 并且,本发明能够极大地提高所述数据库服务器中存储的网页数据的实时性,特 别是对于在线旅游搜索平台等,能够在第一时间获取到最新更新的机票、酒店及火车票等 资源信息,使得用户在进行相关信息查询时精准度大大提高,方便了用户的使用,提升了用 户的使用体验,也极大地提高了在线旅游搜索平台等对网页数据处理的灵活性和实时性。
[0023] 较佳地,步骤&中的所述网络爬虫为聚焦爬虫,所述聚焦爬虫在抓取时通过设置 过滤算法过滤所述网页中与所述目标数据无关的链接。
[0024] 区别于普通的网络爬虫,步骤S2中采用的聚焦爬虫能够过滤掉无关链接,只保留 有用链接并存入等待队列中,从而提高了抓取网页数据的速度和效率,进而也提高了整个 方法流程的速度和效率。
[0025] 较佳地,步骤&中还将所述目标数据按照数据类型划分为多个字段,并将所述多 个字段分类为静态信息数据和动态信息数据;
[0026] 步骤S2中的所述目标压缩文件包括分别带有MD5标签的所述静态信息数据的压 缩文件及所述动态信息数据的压缩文件。
[0027] 对于步骤Si中抓取到的所述目标数据,表征的信息不同使得数据的类型也会有差 另|J,因此在步骤Si中还可以按照网页数据表征信息的不同将所述目标数据划分为多个字 段。
[0028] 所有字段的数据大体都可以分为静态信息数据和动态信息数据,其中静态信息数 据是指事物的基本特征信息数据,这些数据随着时间的变化非常缓慢或者基本不会变化, 例如火车的车次、起始站、终点站等。而动态信息数据则是指随着时间的变化而比较容易发 生变化的数据,例如火车票的数量、硬座、卧铺的余量等。
[0029] 较佳地,每隔一时间段执行一次所述方法的流程。
[0030] 本发明的目的在于还提供了一种对获取的网页数据进行更新的系统,其特点在 于,所述系统包括一数据抓取模块、一文件压缩模块、一第一判断模块、一第二判断模块以 及一数据更新模块;
[0031] 所述数据抓取模块用于利用网络爬虫从一网页中抓取带有所述网页ID的目标数 据;
[0032] 所述文件压缩模块用于将所述目标数据打包成一目标压缩文件,并对所述目标压 缩文件添加MD5标签;
[0033] 所述第一判断模块用于判断一数据库服务器中是否存储带有所述网页ID的网页 数据及所述网页数据的压缩文件,若是,则启用所述第二判断模块,若否,则调用所述数据 更新模块将所述目标数据及所述目标压缩文件存储至所述数据库服务器中;
[0034] 所述第二判断模块用于判断所述网页数据的压缩文件的MD5值与所述目标压缩 文件的MD5值是否相同;
[0035] 若是,则调用所述数据更新模块删除所述目标数据及所述目标压缩文件;
[0036] 若否,则调用所述数据更新模块分别将所述网页数据及所述网页数据的压缩文件 更新为所述目标数据及所述目标压缩文件。
[0037] 较佳地,所述网络爬虫为聚焦爬虫,所述聚焦爬虫还用于在抓取时通过设置过滤 算法过滤所述网页中与所述目标数据无关的链接。
[0038] 较佳地,所述数据抓取模块还用于将所述目标数据按照数据类型划分为多个字 段,并将所述多个字段分类为静态信息数据和动态信息数据;
[0039] 所述目标压缩文件包括分别带有MD5标签的所述静态信息数据的压缩文件及所 述动态信息数据的压缩文件。
[0040] 本发明的积极进步效果在于:本发明能够判断出网页数据的更新,实现了对获取 到的网页数据的及时更新,并且能够极大地提高存储的网页数据的实时性,特别是对于在 线旅游搜索平台等,能够在第一时间获取到最新更新的机票、酒店及火车票等资源信息,使 得用户在进行相关信息查询时精准度大大提高,方便了用户的使用,提升了用户的使用体 验,也极大地提高了在线旅游搜索平台等对网页数据处理的灵活性和实时性。
【专利附图】
【附图说明】
[0041] 图1为本发明的一较佳实施例的对获取的网页数据进行更新的系统的结构示意 图。
[0042] 图2为本发明的一较佳实施例的对获取的网页数据进行更新的方法的流程图。
【具体实施方式】
[0043] 下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
[0044] 如图1所示,本发明的对获取的网页数据进行更新的系统包括一数据抓取模块1、 一文件压缩模块2、一第一判断模块3、一第二判断模块4以及一数据更新模块5。
[0045] 在本实施例中利用所述系统对铁道部火车票网上订票官网(网址为www. 12306. cn)中的网页数据进行抓取,并能够对获取到的网页数据进行更新。
[0046] 具体地,首先通过设定所述网页的网址,网络爬虫的递归算法以及网页数据的定 位信息后,所述数据抓取模块1利用所述网络爬虫就能够快速抓取所需要的网页数据,即 所述目标数据,而所有的目标数据都带有所述网页的一个独有的唯一的ID。
[0047] 所述目标数据具体包括车次、起始站、终点站、发车时间、到达时间、硬座余量、硬 卧余量等等,在此就不再一一列举。对于抓取到的所述目标数据,由于表征的信息的不同使 得数据的类型也会有差别,例如,表征车次的数据与表征起始站的数据的类型是不同的。 [0048] 因此,所述数据抓取模块1还将所述目标数据按照数据类型划分为多个字段,即 上述的表征车次、起始站、终点站、发车时间、到达时间、硬座余量、硬卧余量等的字段,并将 所述多个字段分类为静态信息数据和动态信息数据这两种数据。
[0049] 所有字段的数据大体都可以分为静态信息数据和动态信息数据,其中静态信息数 据是指事物的基本特征信息数据,这些数据随着时间的变化非常缓慢或者基本不会变化, 例如火车的车次、起始站、终点站等。而动态信息数据则是指随着时间的变化而比较容易发 生变化的数据,例如火车票的数量、硬座的余量、硬卧的余量等。
[0050] 表1-表3分别示出了所述目标数据、所述静态信息数据和所述动态信息数据的具 体数据分类。
[0051]
【权利要求】
1. 一种对获取的网页数据进行更新的方法,其特征在于,所述方法包括以下步骤: 51、 利用网络爬虫从一网页中抓取带有所述网页ID的目标数据; 52、 将所述目标数据打包成一目标压缩文件,并对所述目标压缩文件添加MD5标签; 53、 判断一数据库服务器中是否存储带有所述网页ID的网页数据及所述网页数据的压 缩文件,若是,则执行步骤S4,若否,则执行步骤S7 ; 54、 判断所述网页数据的压缩文件的MD5值与所述目标压缩文件的MD5值是否相同,若 是,则执行步骤S5,若否,则执行步骤S6 ; 55、 删除所述目标数据及所述目标压缩文件,然后结束流程; 56、 将所述网页数据及所述网页数据的压缩文件分别更新为所述目标数据及所述目标 压缩文件,然后结束流程; 57、 将所述目标数据及所述目标压缩文件存储至所述数据库服务器中。
2. 如权利要求1所述的方法,其特征在于,步骤Si中的所述网络爬虫为聚焦爬虫,所述 聚焦爬虫在抓取时通过设置过滤算法过滤所述网页中与所述目标数据无关的链接。
3. 如权利要求2所述的方法,其特征在于,步骤Si中还将所述目标数据按照数据类型 划分为多个字段,并将所述多个字段分类为静态信息数据和动态信息数据; 步骤S2中的所述目标压缩文件包括分别带有MD5标签的所述静态信息数据的压缩文 件及所述动态信息数据的压缩文件。
4. 如权利要求1-3中任意一项所述的方法,其特征在于,每隔一时间段执行一次所述 方法的流程。
5. -种对获取的网页数据进行更新的系统,其特征在于,所述系统包括一数据抓取模 块、一文件压缩模块、一第一判断模块、一第二判断模块以及一数据更新模块; 所述数据抓取模块用于利用网络爬虫从一网页中抓取带有所述网页ID的目标数据; 所述文件压缩模块用于将所述目标数据打包成一目标压缩文件,并对所述目标压缩文 件添加MD5标签; 所述第一判断模块用于判断一数据库服务器中是否存储带有所述网页ID的网页数据 及所述网页数据的压缩文件,若是,则启用所述第二判断模块,若否,则调用所述数据更新 模块将所述目标数据及所述目标压缩文件存储至所述数据库服务器中; 所述第二判断模块用于判断所述网页数据的压缩文件的MD5值与所述目标压缩文件 的MD5值是否相同; 若是,则调用所述数据更新模块删除所述目标数据及所述目标压缩文件; 若否,则调用所述数据更新模块分别将所述网页数据及所述网页数据的压缩文件更新 为所述目标数据及所述目标压缩文件。
6. 如权利要求5所述的系统,其特征在于,所述网络爬虫为聚焦爬虫,所述聚焦爬虫还 用于在抓取时通过设置过滤算法过滤所述网页中与所述目标数据无关的链接。
7. 如权利要求6所述的系统,其特征在于,所述数据抓取模块还用于将所述目标数据 按照数据类型划分为多个字段,并将所述多个字段分类为静态信息数据和动态信息数据; 所述目标压缩文件包括分别带有MD5标签的所述静态信息数据的压缩文件及所述动 态信息数据的压缩文件。
【文档编号】G06F17/30GK104424188SQ201310362978
【公开日】2015年3月18日 申请日期:2013年8月19日 优先权日:2013年8月19日
【发明者】叶亚明 申请人:携程计算机技术(上海)有限公司