首页 / 专利库 / 软件 / 网络机器人 / 网络爬虫 / 一种网站更新内容的监测方法及系统

一种网站更新内容的监测方法及系统

阅读:1018发布:2020-10-10

专利汇可以提供一种网站更新内容的监测方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 网站 更新内容的监测方法及系统,该方法包括步骤:根据待测网站的更新 频率 预算并存储待测网站的更新时间间隔;在每间隔更新时间间隔的时间点,获取待测网站的网页内容并提取条目的文本值;将当次网页内容中提取的条目的文本值与上一次网页内容中提取的条目的文本值进行对比,计算得到所述文本值有变化的条目。该系统包括预算模 块 、 网络爬虫 、去噪模块、对比计算模块以及匹配模块。本发明能以较小的计算量快速准确地获得网站的更新内容,并且可以对任意网站实行实时更新监测,应用广泛全面。,下面是一种网站更新内容的监测方法及系统专利的具体信息内容。

1.一种网站更新内容的监测方法,其特征在于,包括以下步骤:
S2:根据待测网站的更新频率预算并存储所述待测网站的更新时间间隔;
S4:在每间隔所述更新时间间隔的时间点,获取所述待测网站的网页内容;
S6:在所述获取的网页内容中提取条目的文本值;
S8:将当次获取的网页内容中提取的条目的文本值与上一次获取的网页内容中提取的条目的文本值进行对比;包括以下步骤:
S801:将所述当次获取的网页内容中提取的条目的文本值与所述上一次获取的网页内容中提取的条目的文本值进行对比,采用字符串对比的方式,找出当次的字符串和上一次的字符串中所有的最长公共子序列;
S802:根据找出的所述所有的最长公共子序列,通过分别对每个最长公共子序列进行回溯匹配得到所述当次的字符串和上一次的字符串的差异部分;
S803:在所述差异部分中选取因插入新内容而产生的差异部分,与所述上一次的字符串进行匹配:
S804A:当所述因插入新内容而产生的差异部分存在于所述上一次的字符串中时,判定所述因插入新内容而产生的差异部分插入的不是新内容,并排除所述插入新内容而产生的差异部分以及对应的所述回溯匹配的匹配结论;
S804B:当所述因插入新内容而产生的差异部分不存在于所述上一次的字符串中时,判定所述因插入新内容而产生的差异部分插入的是新内容,则保留所述因插入新内容而产生的差异部分,并且存储记录所述回溯匹配的匹配结论;
S10:通过所述对比,计算得到所述文本值有变化的条目。
2.根据权利要求1所述的监测方法,其特征在于,在所述步骤S4完成之后,所述方法还包括:
S5:将当次获取的网页内容条目存储在数据库中。
在除首次之外的每次执行所述步骤S8时,将当次获取的网页内容中提取的条目的文本值与数据库中存储的上一次获取的网页内容中提取的条目的文本值进行对比。
3.根据权利要求1所述的监测方法,其特征在于,在所述步骤S10完成后,所述方法还包括:
S12:计算得到所述文本值有变化的条目后,将所述文本值有变化的条目存储在数据库中,并根据所述条目的发布或者修改时间将所述文本值有变化的条目排序后返回给用户。
4.根据权利要求1所述的监测方法,其特征在于,所述步骤S6中在所述获取的网页内容中提取条目的文本值,包括以下步骤:
S601:提取所述获取的网页内容,去除所述网页内容中的网页标签和链接,保留所述网页内容中的所有超链接的文本值。
5.根据权利要求1至4中任一项所述的监测方法,其特征在于,所述步骤S801中,采用字符串对比的方式,找出当次的字符串和上一次的字符串中所有的最长公共子序列,找出方式如下:
当次的字符串和上一次的字符串分别用字符串A和字符串B表示,进行如下步骤:
S8011:用A(1:i)表示长度为m的字符串A的连续子序列A[1]A[2]...A[i],用B(1:j)表示长度为n的字符串B的连续子序列B[1]B[2]...B[j],Li(k)表示所有与字符串A(1:i)有长度为k的最长公共子序列的字符串B(1:j)中j的最小值,构建如下的Li(k)矩阵:
其中,L(k,i)=Li(k),1Li(k-1)的最小整数;
S8012:对于所述矩阵中,L(1,s),(s≤m-t+1)所在的每条对线,若所包含的不为null的元素个数等于最长公共子序列的长度t,转步骤S8013;
S8013:对于所述每条对角线上的元素L(k,i),(k>1,i>1),若L(k-1,i-1)不为null或虚点,且L(k-1,i-1)6.一种网站更新内容的监测系统,其特征在于,包括:
预算模,用于根据待测网站的更新频率预算并存储所述待测网站的更新时间间隔;
网络爬虫,用于在每间隔所述更新时间间隔的时间点,获取所述待测网站的网页内容;
去噪模块,用于在所述获取的网页内容中提取条目的文本值;
对比计算模块,用于将当次获取的网页内容中提取的条目的文本值与上一次获取的网页内容中提取的条目的文本值进行对比;
以及
匹配模块,用于通过所述对比,获取所述文本值有变化的条目;
其中,所述对比计算模块包括:
LCS计算单元,用于将所述当次获取的网页内容中提取的条目的文本值与所述上一次获取的网页内容中提取的条目的文本值进行对比,采用字符串对比的方式,找出当次的字符串和上一次的字符串中所有的最长公共子序列;
匹配单元,用于根据找出的所述所有的最长公共子序列,通过分别对每个最长公共子序列进行回溯匹配得到所述当次的字符串和上一次的字符串的差异部分;
判定单元,用于在所述差异部分中选取因插入新内容而产生的差异部分,与所述上一次的字符串进行匹配,并用于在当所述因插入新内容而产生的差异部分存在于所述上一次的字符串中时,判定所述因插入新内容而产生的差异部分插入的不是新内容,并排除所述插入新内容而产生的差异部分以及对应的所述回溯匹配的匹配结论;还用于在所述因插入新内容而产生的差异部分不存在于所述上一次的字符串中时,判定所述因插入新内容而产生的差异部分插入的是新内容,则保留所述因插入新内容而产生的差异部分,并且存储记录所述回溯匹配的匹配结论。
7.根据权利要求6所述的网站更新内容的监测系统,其特征在于,所述监测系统还包括:
存储模块,用于将当次获取的网页内容存储在数据库中。
8.根据权利要求6所述的网站更新内容的监测系统,其特征在于,所述监测系统还包括:
排序模块,用于在计算得到所述文本值有变化的条目后,将所述文本值有变化的条目存储,并根据所述条目的发布或者修改时间将所述文本值有变化的条目排序后返回给用户。

说明书全文

一种网站更新内容的监测方法及系统

技术领域

[0001] 本发明涉及互联网数据处理领域,尤其涉及一种网站更新内容的监测方法及系统。

背景技术

[0002] 随着互联网的迅猛发展,当今社会进入全面信息时代,各类网站如雨后春笋,截止2011年底,中国网民规模达到4.85亿,位居世界首位,网页数量达到600亿以上,并且这些网页都处在不断的变化更新中,近乎40%的网页一周内会更新。监测网站的更新,从浩瀚信息海洋中获取最需、最新内容,早已成为信息时代大众的迫切需求。
[0003] RSS(Really Simple Syndication,简易信息聚合)阅读器应该算是网站更新监测领域最为成功的产品,它的发明出现,给人们带来了巨大的便利,加快了人们获取信息的速度,节省了大量的时间和精。RSS阅读器是一种软件或者程序,用户可以添加各类网站、博客(这些网站或博客可以称之为频道),接受来自RSS种子(信息源)的最新内容。RSS种子实际上是网站或博客开发人员提供的包含许多Item(条目)的XML(Extensible Markup Language,可扩展标记语言)文件,Item是一条新闻或一篇博文,由标题、时间、作者、摘要、最后更新时间等组成。每当频道有新的内容时,RSS种子文件就会有新的Item,同时推送给添加了该RSS种子的阅读器,用户即可在自己的阅读器上接受到来自各个频道的最新资讯。用户从以前主动地浏览大量网站,变为被动地接收来自大量感兴趣的网站的最新资讯。另外也有利用MD5算法(Message Digest Algorithm 5,消息摘要算法第五版)来判断前后两次网页内容是否变化,进而对网站实行更新监测的方法。还有搜狗浏览器的“消息盒子”,用户添加消息盒子支持的微博、邮箱、博客、新闻网等之后,当它们有更新时,会弹出提醒,点击提醒可以查看具体的更新内容。
[0004] RSS订阅由于订阅源的限制而严重影响了订阅的频道范围,对于没有提供RSS种子的频道,RSS阅读器显得无能为力。并且由于版权、信息保护、维护成本等原因,许多网站不提供RSS种子,RSS阅读器无法订阅。搜狗的“消息盒子”也是如此,只支持部分网站。利用MD5算法来监测网页更新虽然有效,但很不实用,因为它只能判断网站某段时间间隔内是否有变化,无法获取变化的内容;并且网页内容的任意微小变化都会引起MD5值的不同,像数字、标点符号和页面标签等非主体内容的变化也会被当做页面更新,导致准确度大大下降。

发明内容

[0005] 本发明目的在于提供一种网站更新内容的监测方法及系统,以解决现有的网站更新监测方法及系统监测的网站有限和准确度低的技术问题。
[0006] 为实现上述目的,本发明提供了一种网站更新内容的监测方法,包括以下步骤:
[0007] S2:根据待测网站的更新频率预算并存储待测网站的更新时间间隔;
[0008] S4:在每间隔更新时间间隔的时间点,获取待测网站的网页内容;
[0009] S6:在获取的网页内容中提取条目的文本值;
[0010] S8:将当次获取的网页内容中提取的条目的文本值与上一次获取的网页内容中提取的条目的文本值进行对比;
[0011] S10:通过对比,计算得到文本值有变化的条目。
[0012] 作为本发明的方法的进一步改进:
[0013] 优选地,在步骤S6完成之后,方法还包括:
[0014] S7:将当次获取的网页内容条目存储在数据库中。
[0015] 在除首次之外的每次执行步骤S8时,将当次获取的网页内容中提取的条目的文本值与数据库中存储的上一次获取的网页内容中提取的条目的文本值进行对比。
[0016] 优选地,在步骤S10完成后,方法还包括:
[0017] S12:计算得到文本值有变化的条目后,将文本值有变化的条目存储,并根据条目的发布或者修改时间将文本值有变化的条目排序后返回给用户。
[0018] 优选地,步骤S6中在获取的网页内容中提取条目的文本值,包括以下步骤:
[0019] S601:提取获取的网页内容,去除网页内容中的网页标签和链接,保留网页内容中的所有超链接的文本值。
[0020] 优选地,步骤S8在当次获取的网页内容中提取的条目的文本值与上一次计算得到的网页内容中提取的条目的文本值进行对比,包括以下步骤:
[0021] S801:将当次获取的网页内容中提取的条目的文本值与上一次获取的网页内容中提取的条目的文本值进行对比,采用字符串对比的方式,找出当次的字符串和上一次的字符串中所有的最长公共子序列;
[0022] S802:根据找出的所有的最长公共子序列,通过分别对每个最长公共子序列进行回溯匹配得到当次的字符串和上一次的字符串的差异部分;
[0023] S803:在差异部分中选取因插入新内容而产生的差异部分,与上一次的字符串进行匹配:
[0024] S804A:当因插入新内容而产生的差异部分存在于上一次的字符串中时,判定因插入新内容而产生的差异部分插入的不是新内容,并排除插入新内容而产生的差异部分以及对应的回溯匹配的匹配结论;
[0025] S804B:当因插入新内容而产生的差异部分不存在于上一次的字符串中时,判定因插入新内容而产生的差异部分插入的是新内容,则保留因插入新内容而产生的差异部分,并且存储记录回溯匹配的匹配结论。
[0026] 优选地,步骤S801中,采用字符串对比的方式,找出当次的字符串和上一次的字符串中所有的最长公共子序列,找出方式如下:
[0027] 当次的字符串和上一次的字符串分别用字符串A和字符串B表示,进行如下步骤:
[0028] S8011:用A(1:i)表示长度为m的字符串A的连续子序列A[1]A[2]...A[i],用B(1:j)表示长度为n的字符串B的连续子序列B[1]B[2]...B[j],Li(k)表示所有与字符串A(1:i)有长度为k的最长公共子序列的字符串B(1:j)中j的最小值,构建如下的Li(k)矩阵:
[0029]
[0030] 其中,L(k,i)=Li(k),1Li(k-1)的最小整数;
[0031] S8012:对于矩阵中,L(1,s),(s≤m-t+1)所在的每条对线,若所包含的不为null的元素个数等于最长公共子序列的长度t,转步骤S8013;
[0032] S8013:对于每条对角线上的元素L(k,i),(k>1,i>1),若L(k-1,i-1)不为null或虚点,且L(k-1,i-1)<L(k,i),则L(k-1,i-1)与L(k,i)可连接,组成一个最长公共子序列的一部分,进而组成所有的最长公共子序列。
[0033] 作为一个总的技术构思,本发明还提供了一种网站更新内容的监测系统,包括:
[0034] 预算模,用于根据待测网站的更新频率预算并存储待测网站的更新时间间隔;
[0035] 网络爬虫,用于在每间隔更新时间间隔的时间点,获取待测网站的网页内容;
[0036] 去噪模块,用于在获取的网页内容中提取条目的文本值;
[0037] 对比计算模块,用于将当次获取的网页内容中提取的条目的文本值与上一次获取的网页内容中提取的条目的文本值进行对比;以及
[0038] 匹配模块,用于通过对比,获取文本值有变化的条目。
[0039] 作为本发明的系统的进一步改进,
[0040] 监测系统还包括:
[0041] 存储模块,用于将当次获取的网页内容条目存储在数据库中。
[0042] 监测系统还包括:
[0043] 排序模块,用于在计算得到文本值有变化的条目后,将文本值有变化的条目存储,并根据条目的发布或者修改时间将文本值有变化的条目排序后返回给用户。
[0044] 对比计算模块包括:
[0045] LCS计算单元,用于将当次获取的网页内容中提取的条目的文本值与上一次获取的网页内容中提取的条目的文本值进行对比,采用字符串对比的方式,找出当次的字符串和上一次的字符串中所有的最长公共子序列;
[0046] 匹配单元,用于根据找出的所有的最长公共子序列,通过分别对每个最长公共子序列进行回溯匹配得到当次的字符串和上一次的字符串的差异部分;
[0047] 判定单元,用于在差异部分中选取因插入新内容而产生的差异部分,与上一次的字符串进行匹配,并用于在当因插入新内容而产生的差异部分存在于上一次的字符串中时,判定因插入新内容而产生的差异部分插入的不是新内容,并排除插入新内容而产生的差异部分以及对应的回溯匹配的匹配结论;还用于在因插入新内容而产生的差异部分不存在于上一次的字符串中时,判定因插入新内容而产生的差异部分插入的是新内容,则保留因插入新内容而产生的差异部分,并且存储记录回溯匹配的匹配结论。
[0048] 本发明具有以下有益效果:
[0049] 1、本发明的网站更新内容的监测方法,根据各网站的更新频率分别预算网站的更新时间,在预算的更新时间里访问获取网站的更新内容,能减少客户端和网站服务器之间的网络流量。本发明根据网站更新的独有特征(增加新条目情况较多),采用提取网页内容中条目的文本值进行对比,按条目计算网站文字内容的更新,能大幅减小计算量,并能快速准确地获得网站的更新内容。同时,本发明的监测方法不需要待测网站提供例如RSS种子等接口和支持,因此可以对任意网站实行实时更新监测,应用广泛全面。
[0050] 2、在优选方案中,本发明的网站更新内容的监测方法,采用改进的LCS策略计算所有的最长公共子序列,然后根据所有的最长公共子序列匹配回溯所有的更新内容,根据插入的内容是否存在于历史字符串中,来筛选去除其他不符合网站实际更新情况的结果,从而得到符合网站真实更新情况的结果,以极小的运算量进一步地提高本发明的监测方法的准确性,使得本发明的监测方法检测网站的更新更全面,更精准,更符合用户的需求。
[0051] 3、本发明的网站更新内容的监测系统,采用网络爬虫在预算的更新时间间隔爬取网站的网页内容,不会因为使用网络爬虫而占用过多的网络资源和网络带宽,并能及时获得网站的最新内容。本发明采用对比计算模块将网页内容中条目的文本值进行对比,按条目计算网站文字内容的更新,在有限的计算量内能快速准确地获得网站的更新内容。本发明的监测系统不需要待测网站提供接口和支持,应用广泛全面。采用本发明的监测系统,用户可以任意添加自己想订阅的网站,接受准确的最新内容。
[0052] 除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照附图,对本发明作进一步详细的说明。

附图说明

[0053] 构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0054] 图1是本发明优选实施例的网站更新内容的监测方法的流程示意图;
[0055] 图2是本发明另一优选实施例的网站更新内容的监测方法的流程示意图;
[0056] 图3是本发明优选实施例的网站更新内容的监测系统的结构示意图。

具体实施方式

[0057] 以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
[0058] 本发明实施例所称的条目是指一个Item,例如一条新闻或一篇博文,还可以是通知、新闻、讲座、视频、音乐或帖子,本发明所称的条目通常由链接地址、标题、时间、作者、摘要和最后更新时间等组成。本发明实施例所称的LCS是Longest Common Subsequence的缩写,即最长公共子序列。
[0059] 如图1所示,本发明实施例提供了一种网站更新内容的监测方法,包括如下的步骤S2至步骤S4:
[0060] S2:根据待测网站的更新频率预算并存储待测网站的更新时间间隔。
[0061] S4:在每间隔更新时间间隔的时间点,获取待测网站的网页内容。
[0062] 根据各网站的更新频率分别预算网站的更新时间,在预算的更新时间里访问获取网站的更新内容,能减少客户端和网站服务器之间的网络流量。
[0063] S6:在获取的网页内容中提取条目的文本值。
[0064] S8:将当次获取的网页内容中提取的条目的文本值与上一次获取的网页内容中提取的条目的文本值进行对比。
[0065] 采用提取网页内容中条目的文本值进行对比,按条目计算网站文字内容的更新,能大幅减小计算量,并能快速准确地获得网站的更新内容。
[0066] S10:通过对比,计算得到文本值有变化的条目。
[0067] 本实施例通过以上的步骤,根据网站更新的特殊性,且无需网站提供数据接口和支持,可实现对任意网站实行实时更新监测,应用广泛全面。
[0068] 在实际应用中,在上述步骤步骤S2至步骤S10的基础上,本发明实施例的网站更新内容的监测方法,还可进行以下优化:
[0069] 在步骤S2进行之前,进行步骤S1:
[0070] S1:添加监测网站。即系统接受用户输入网站URL(Uniform Resoure Locator,统一资源定位器)地址和标题,存入数据库。
[0071] S2:根据待测网站的更新频率预算并存储待测网站的更新时间间隔。
[0072] 为有效地利用资源,及时获得更新,可采用增量式爬取算法来预算合理的更新时间。以采用网络爬虫的方式获取网站的网页内容为例:由于我们监测的网站数量可能较多,且每个网站的更新频率又不一致,如果统一爬虫访问的间隔时间,难免浪费时间和资源,也不能保证爬虫获取的网页内容每次都是最新的。例如网站A一般两天更新一次,网站B十天更新一次,统一设置爬虫间隔时间为5天的话,对于网站A而言,用户不能及时收到最新信息,而对于网站B,就造成爬虫程序浪费空间与时间。增量式爬取算法就是对已访问过的每个网页的更新速度进行预测,根据预测的时间进行更新。这样,更新快的网站就会每隔较短时间进行爬取,而更新慢的网站则每隔较长时间进行爬取。如此便能在及时获取网站的更新内容的同时减少占用的时间和资源。
[0073] S4:在每间隔更新时间间隔的时间点,获取待测网站的网页内容。
[0074] 在每个用户设置的网站的更新时间间隔设置好后,通常采用网络爬虫来获取待测网站的网页内容。网络爬虫又名网络蜘蛛,它按照一定规则,自动访问URL,获取网页信息。通常是有一个URL入口,向该URL发送请求,从服务器返回内容,然后分析页面内容,提取超链接,再按照一定规则将超链接排序放入URL列表;然后继续从URL列表中访问URL,重复此过程,直到满足一定的终止条件。
[0075] 实际应用中,本发明实施例的步骤S2中,也可先根据经验或者网站的公告等设置一个更新时间间隔,而在本实施例的方法的进行过程中,在网络爬虫爬取网页内容后,根据网站内容的实际更新时间修订更新时间间隔。所以,步骤S2和步骤S4的顺序不是一定的,二步骤可以相辅相成,穿插进行,在每次监测网站的更新网站的内容时,重新预算更新时间间隔使得这种穿插变为可能,这样能使得本发明实施例对网站更新监测更及时、准确。
[0076] S5:将当次获取的网页内容存储在数据库中。
[0077] 首次访问该网站时,将网页的内容存储在数据库中;下一次访问同一网站时,将网页内容存储在数据库中替换上一次网页的内容。
[0078] S6:在获取的网页内容中提取条目的文本值。
[0079] S601:提取获取的网页内容,去除网页内容中的网页标签和链接,保留网页内容中的所有超链接的文本值。由于某些网页内容繁多,结构复杂,需要将其他干扰元素去除,只提取我们需要的主体正文部分,即为网页去噪的过程。
[0080] S8:将当次获取的网页内容中提取的条目的文本值与上一次获取的网页内容中提取的条目的文本值进行对比。
[0081] 在除首次之外的每次执行步骤S8时,将当次获取的网页内容中提取的条目的文本值与数据库中存储的上一次获取的网页内容中提取的条目的文本值进行对比。
[0082] 由于条目的文本值是一条新闻或通知的标题,概括了新闻、通知核心内容,重复概率很低,并且不会发生改变(除非维护人员修改,那意味着条目的内容也应该有所改变),文本值具备唯一性和不变性。采用提取网页内容中条目的文本值进行对比,按条目计算网站文字内容的更新,能大幅减小计算量,并能快速准确地获得网站的更新内容。
[0083] S801:将当次获取的网页内容中提取的条目的文本值与上一次获取的网页内容中提取的条目的文本值进行对比,采用字符串对比的方式,找出当次的字符串和上一次的字符串中所有的最长公共子序列。
[0084] 最长公共子序列(LCS)算法基于以下几个定理进行:
[0085] 字符串A=A[1]A[2]...A[m]和字符串B=B[1]B[2]...B[n],A(1:i)表示A的连续子序列A[1]A[2]...A[i],同样B(1:j)表示B的连续子序列B[1]B[2]...B[j]。Li(k)表示所有与字符串A(1:i)有长度为k的LCS的字符串B(1:j)中j的最小值。公式化表示就是Li(k)=Minj(LCS(A(1:i),B(1:j))=k)。
[0086] 定理1: 有Li(1)
[0087] 定理2: (t∈[1,m]),有Li+1(k)<=Li(k);
[0088] 定理3: (t∈[1,m-1]),有Li(k)
[0089] 以上三个定理都不考虑Li(k)无定义的情况。
[0090] 定理4:Li+1(k)如果存在,那么它的取值必为:Li+1(k)=Min(j,Li(k))。
[0091] 其中,j是满足A[i+1]=B[j]且j>Li(k-1)的最小整数。
[0092] 根据上述的定理,本发明实施例的找出所有的最长公共子序列LCS的具体方法如下:
[0093] 当次的字符串和上一次的字符串分别用字符串A和字符串B表示,进行如下步骤:
[0094] S8011:用A(1:i)表示长度为m的字符串A的连续子序列A[1]A[2]...A[i],用B(1:j)表示长度为n的字符串B的连续子序列B[1]B[2]...B[j],Li(k)表示所有与字符串A(1:i)有长度为k的最长公共子序列的字符串B(1:j)中j的最小值,构建如下的Li(k)矩阵:
[0095]
[0096] 其中,L(k,i)=Li(k),1
[0097] 设t=Maxk(L(k,m)≠null),容易证明L矩阵中L(t,m)所在的对角线L(1,m-t+l)L(2,m-t+2)…L(t-1,m-1)L(t,m)所对应的子序列B[L(1,m-t+l)]B[L(2,m-t+2)]…B[L(t,m)]即为A和B的LCS(也可能存在特殊情况,对角线所对应的子字符串并非完全是LCS),t为该LCS的长度。先求第一条对角线上的元素L(1,1)L(2,2)…,直到L(i,i)=null,i<=m;再是第二条对角线L(1,2)L(2,3)…;直到对角线L(1,s)L(2,s+1)…L(u,m),且L(u,m)≠null为止。此时可以证明,u=t,s=m-t+1。总共是(m-t+1)条对角线。在计算第i条对角线时,根据定理3,有L(k,i)
[0098] 完成步骤S8011后,采用以下步骤运算得到所有的LCS:
[0099] S8012:对于矩阵中,L(1,s),(s≤m-t+1)所在的每条对角线,若所包含的不为null的元素个数等于最长公共子序列的长度t,转步骤S8013;
[0100] S8013:对于所述每条对角线上的元素L(k,i),(k>1,i>1),若L(k-1,i-1)不为null或虚点,且L(k-1,i-1)<L(k,i),则L(k-1,i-1)与L(k,i)可连接,组成一个最长公共子序列的一部分,进而组成所有的LCS。其中,当j不满足A[i+1]=B[j]且j>Li(k-1)的条件时,则Li+1(k)=Li(k),矩阵中这样的Li+1(k)的点为虚点。实际上,该Li+1(k)对应的B[b](b=Li+1(k))是不可能成为LCS一部分,因为B中不存在A[i+1]字符,Li+1(k)的值是由Li(k)替代的,它是个虚假的匹配点,即为虚点。
[0101] S802:根据找出的所有的最长公共子序列,通过分别对每个最长公共子序列进行回溯匹配得到当次的字符串和上一次的字符串的差异部分。
[0102] S803:在差异部分中选取因插入新内容而产生的差异部分,与上一次的字符串进行匹配,步骤如下:
[0103] S804A:当因插入新内容而产生的差异部分存在于上一次的字符串中时,判定因插入新内容而产生的差异部分插入的不是新内容,并排除插入新内容而产生的差异部分以及对应的回溯匹配的匹配结论;
[0104] S804B:当因插入新内容而产生的差异部分不存在于上一次的字符串中时,判定因插入新内容而产生的差异部分插入的是新内容,则保留因插入新内容而产生的差异部分,并且存储记录回溯匹配的匹配结论。
[0105] 当两个字符串对比,最长公共子序列是不唯一的,因此就对应不同的差异部分,在单纯的字符串对比中是合理的,但在应用到网站更新检测时,肯定是只有一种差异部分,也就只有一种最长公共子序列,因此需要进行上述的筛选。
[0106] 通过步骤S8011至步骤S8013,可以很快地找到所有的LCS。但不同的LCS对应着明显不同的匹配情形,这对于网站更新方法而言,意味着变化的条目不同,而一个网站实际的更新变化只有一种,所以只有一个匹配情形符合网站的真实更新情况,需要排除其余的匹配。因而需要通过步骤S804A和步骤S804B进行匹配排除。由于网站的条目中的标题具有独特性和功能性,标题相同而内容不同的情况很少;换言之,经过文本对比匹配之后,得到的插入部分,在被比较网页(称之为旧网页)中通常不存在(跟单纯的字符串匹配不同,其插入的字符也可能存在被匹配字符串中)。所以,本发明实施例采用字符串数组对比,当遇到多个LCS时,只需验证每种回溯匹配情形下差异部分中的插入部分的字符串是否存在于被比较的字符串数组中,即可判断该匹配情形是否符合真实情况;若存在,则不是真实情况,排除。这样可以快速地
[0107] S10:通过对比,计算得到文本值有变化的条目。
[0108] S12:参见图2,计算得到文本值有变化的条目后,将文本值有变化的条目存储,更新数据库中的存储的网页内容,供下次对比使用,并根据条目的发布或者修改时间将文本值有变化的条目排序后返回给用户;如果未发现有文本值有变化的条目,则仅更新数据库中的存储的网页内容。
[0109] 参见图3,在上述方法的同一原理的基础上,本发明实施例的网站更新内容的监测系统,包括预算模块、网络爬虫、去噪模块、对比计算模块和匹配模块。其中,预算模块用于根据待测网站的更新频率预算并存储待测网站的更新时间间隔;网络爬虫用于在每间隔更新时间间隔的时间点,获取待测网站的网页内容;去噪模块用于在获取的网页内容中提取条目的文本值;对比计算模块用于将当次获取的网页内容中提取的条目的文本值与上一次获取的网页内容中提取的条目的文本值进行对比;匹配模块用于通过对比,获取文本值有变化的条目。
[0110] 该系统采用网络爬虫在预算的更新时间间隔爬取网站的网页内容,不会因为使用网络爬虫(独立运行在网站更新系统后台,不被普通用户所见)而占用过多的网络资源和网络带宽,并能及时获得网站的最新内容。该系统采用对比计算模块将网页内容中条目的文本值进行对比,按条目计算网站文字内容的更新,在有限的计算量内能快速准确地获得网站的更新内容。本发明实施例的监测系统不需要待测网站提供接口和支持,应用广泛全面。采用本发明的监测系统,用户可以任意添加自己想订阅的网站,接受准确的最新内容。
[0111] 在实际应用中,为了减少占用的网络资源,提高监测准确度和速度,提高用户使用的可阅读性,本发明实施例的网站更新内容的监测系统还可设置存储模块和排序,存储模块用于将当次获取的网页内容中提取的条目的文本值存储在数据库中;排序模块用于在计算得到文本值有变化的条目后,将文本值有变化的条目存储,并根据待测网站的类型将文本值有变化的条目排序后返回给用户。排序可以提高条目的可看性、更新的准确性,针对不同的网站,有不同的选择性提取方法,这个步骤并不是通用的,可以灵活地、个性化设置。例如论坛中帖子的先后顺序会因为回复时间而变,那么从数据库表中读取本次更新获得的记录时,跟上次更新获得的记录进行对比,过滤那些在上次更新中也出现过的重复记录。这样,用户看不到论坛中因帖子回复时间而产生顺序变化的条目。同时,可采用可视化的展示界面跟我们常见网站上的新闻展示一样,点击标题即可连接到详情页面,还可显示发布日期以及作者等条目内包含的信息。
[0112] 在实际应用中,为了提高对比计算模块的计算精度和计算速度,本发明实施例的对比计算模块可扩充为包括LCS计算单元、匹配单元和判定单元,LCS计算单元用于将当次获取的网页内容中提取的条目的文本值与上一次获取的网页内容中提取的条目的文本值进行对比,采用字符串对比的方式,找出当次的字符串和上一次的字符串中所有的最长公共子序列;匹配单元用于根据找出的所有的最长公共子序列,通过分别对每个最长公共子序列进行回溯匹配得到当次的字符串和上一次的字符串的差异部分;判定单元用于在差异部分中选取因插入新内容而产生的差异部分,与上一次的字符串进行匹配,并用于在当因插入新内容而产生的差异部分存在于上一次的字符串中时,判定因插入新内容而产生的差异部分插入的不是新内容,并排除插入新内容而产生的差异部分以及对应的回溯匹配的匹配结论;还用于在因插入新内容而产生的差异部分不存在于上一次的字符串中时,判定因插入新内容而产生的差异部分插入的是新内容,则保留因插入新内容而产生的差异部分,并且存储记录回溯匹配的匹配结论。
[0113] 综上可知,本发明实施例通过预算网站的更新时间间隔,采用条目的文本值进行对比,以及创新的LCS计算方式,可以快速、准确地对网站更新内容进行实时的监测和展示,并且不受网站形式的限制,可以对所有网站进行监测,适用性广。
[0114] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈