CN102682098B - 检测网页内容变更的方法及装置 - Google Patents

检测网页内容变更的方法及装置 Download PDF

Info

Publication number
CN102682098B
CN102682098B CN201210129996.7A CN201210129996A CN102682098B CN 102682098 B CN102682098 B CN 102682098B CN 201210129996 A CN201210129996 A CN 201210129996A CN 102682098 B CN102682098 B CN 102682098B
Authority
CN
China
Prior art keywords
subtree
dom
tree
dom tree
hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210129996.7A
Other languages
English (en)
Other versions
CN102682098A (zh
Inventor
张振虎
王晓明
龙柯
王兴
罗宇
付德龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Original Assignee
Beijing NSFocus Information Security Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing NSFocus Information Security Technology Co Ltd filed Critical Beijing NSFocus Information Security Technology Co Ltd
Priority to CN201210129996.7A priority Critical patent/CN102682098B/zh
Publication of CN102682098A publication Critical patent/CN102682098A/zh
Application granted granted Critical
Publication of CN102682098B publication Critical patent/CN102682098B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明提供一种检测网页内容变更的方法及装置,该方法包括:将第一网页生成第一文档对象模型DOM树,将第二网页生成第二DOM树;将第一DOM树和第二DOM树进行比较,确定第一DOM树和第二DOM树为同源DOM树;将第一DOM树中所有的子树与第二DOM树中所有的子树进行匹配,确定第一DOM树中与第二DOM树中每一子树的变更类型;若子树的变更类型为预设的需要进行合法验证的变更类型,则获取该子树对应的变更内容;查询内容权重列表,确定该子树对应的变更内容的权重等级;若该子树对应的变更内容的权重等级大于预设的非法变更等级,则确定该子树的变更类型为非法变更,解决现有的检测网页内容变更的方法检测效率低的问题。

Description

检测网页内容变更的方法及装置
技术领域
本发明涉及网络技术,尤其涉及一种检测网页内容变更的方法及装置。
背景技术
随着互联网技术的不断发展,网站为用户提供了实时的丰富多彩的内容,如新闻、公告、论坛等,由于各种因素,网站被黑客入侵,网站页面内容被篡改的事件屡有发生,需要对网站页面内容变更进行实时检测。
现有的检测网页内容变更的方法主要是判断网页超文本标记语言(Hypertext Markup Language,简称HTML)源码是否发生了改变,但是,通过确定HTML源码发生改变的方法无法判断网页变更是否合法,这时仍然需要网络管理员通过人工检测的方法确定网页发生变更的合法性。
发明人在实现本发明的过程中发现:由于网站页面数量庞大,现有的检测网页内容变更的方法存在检测效率低、准确率低的问题。
发明内容
本发明提供一种检测网页内容变更的方法及装置,解决了现有的检测网页内容变更的方法存在检测效率低、准确率低的问题。
本发明的第一个方面是提供一种检测网页内容变更的方法,包括:
将第一网页生成第一文档对象模型DOM树,将第二网页生成第二DOM树;
将第一DOM树和第二DOM树进行比较,确定所述第一DOM树和所述第二DOM树为同源DOM树;
将所述第一DOM树中所有的子树与所述第二DOM树中所有的子树进行匹配,确定所述第一DOM树中与所述第二DOM树中每一子树的变更类型;
若所述子树的变更类型为预设的需要进行合法验证的变更类型,则获取所述子树对应的变更内容;
查询内容权重列表,确定所述子树对应的变更内容的权重等级;
若所述子树对应的变更内容的权重等级大于预设的非法变更等级,则确定所述子树的变更类型为非法变更。
本发明的另一个方面是提供一种检测网页内容变更的装置,包括:
生成模块,用于将第一网页生成第一文档对象模型DOM树,将第二网页生成第二DOM树;
第一确定模块,用于将第一DOM树和第二DOM树进行比较,确定所述第一DOM树和所述第二DOM树为同源DOM树;
第二确定模块,用于将所述第一DOM树中所有的子树与所述第二DOM树中所有的子树进行匹配,确定所述第一DOM树中与所述第二DOM树中每一子树的变更类型;
获取模块,用于若所述子树的变更类型为预设的需要进行合法验证的变更类型,则获取所述子树对应的变更内容;
查询模块,用于查询内容权重列表,确定所述子树对应的变更内容的权重等级;
第三确定模块,用于若所述子树对应的变更内容的权重等级大于预设的非法变更等级,则确定所述子树的变更类型为非法变更。
本发明实施例采用比较两棵DOM树的方法,可以确定两棵DOM树中每一子树的变更类型,若确定所述子树的变更类型为预设的需要进行合法验证的变更类型,则进一步获取所述子树对应的变更内容,通过查询内容权重列表确定所述子树的变更类型是否为非法变更,解决了现有的检测网页内容变更的方法存在检测效率低、准确率低的问题。
附图说明
图1为本发明实施例一提供的检测网页内容变更的方法的流程示意图;
图2为图1所示实施例采用的DOM树的结构示意图;
图3为图1所示实施例中步骤103的一种具体实现的流程示意图;
图4为本发明实施例二提供的检测网页内容变更的装置的结构示意图。
具体实施方式
图1为本发明实施例一提供的检测网页内容变更的方法的流程示意图,如图1所示,包括:
步骤101、将第一网页生成第一文档对象模型DOM树,将第二网页生成第二DOM树。
举例来说,从网络数据资源中将第一网页的HTML文档的内容,对该HTML文档进行规范化检验,使用HTML解析器对检验后的规范化的HTML文档进行解析,形成一棵基于文档对象模型(Document Object Model,简称DOM)的解析树(简称第一DOM树),第一DOM树中形象地标识出了HTML各节点的层次关系及各自的属性及相应的文本值,同理可以将第二网页生成第二DOM树。
步骤102、将第一DOM树和第二DOM树进行比较,确定所述第一DOM树和所述第二DOM树为同源DOM树。
举例来说,假设第一网页为源网页,第二网页为在第一网页基础上进行修改的网页,本实施例可以将第二网页称为与第一网页同源的网页,即第二网页为第一网页的同源网页,对应地,第一DOM树为源DOM树,第二DOM树为与第一DOM树同源的DOM树。
举例来说,本实施例中,确定所述第一DOM树和所述第二DOM树为同源DOM树的方法具体可以包括:
分别计算所述第一网页的DOM树与所述第二DOM树中所有子树的hash_dom值。
举例来说,可以先将本实施例中第一DOM树和第二DOM树进行预处理,即为每一个DOM树上的每一个节点计算哈希hash值,其中,每一个节点有两个hash值,第一个hash值为hash_self,第二个hash值为hash_dom,其中,hash_self是当前节点自身属性内容的一个hash值,而hash_dom是以当前节点为根节点的整棵DOM树的hash值。本实施例中,比较第一DOM树的hash值和第二DOM树的hash值是否相同时只需要比较两棵DOM树的hash_dom值即可。
分别将所述第一DOM树中所有子树的hash_dom值与所述第二DOM树中所有子树的hash_dom值按照预设的顺序组成第一哈希序列和第二哈希序列。
举例来说,将DOM树中所有子树的hash_dom值序列化时,可以采用广度遍历算法,在序列化之前,初始序列为空,假设1为根节点,取出根节点1,放在序列的第一位,根节点的直接子节点放在序列的第二位,若根节点的直接子节点有多个,则将多个节点按照顺序从左到右,或从右到左依次排序,不影响算法。
图2为图1所示实施例采用的DOM树的结构示意图,如图2所示,根节点1的直接子节点按照从左到右的顺序添加到序列尾端,即顺次加入2、3、4;然后把节点2的直接子节点按照从左到右的顺序加入到队列尾部,依此类推,直到添加完队列最后一位。
利用相似度算法计算所述第一哈希序列与所述第二哈希序列的相似度,若所述第一哈希序列与所述第二哈希序列的相似度大于哈希序列相似度阈值,则确定所述第一DOM树与所述第二DOM树为同源DOM树。
举例来说,哈希序列相似度阈值可以根据精度要求做不同的设置,本实施例的哈希序列相似度阈值设为0.5。
本实施例的相似度算法可以采用最大公共子序列算法,最大公共子序列算法为本领域技术人员的公知常识,算法的具体描述不再赘述。
步骤103、将所述第一DOM树中所有的子树与所述第二DOM树中所有的子树进行匹配,确定所述第一DOM树中与所述第二DOM树中每一子树的变更类型。
举例来说,本实施例可以预先定义网页内容变更的变更类型,具体包括:
INSERT:新加内容,表示向页面中添加了新的内容;
DELETE:删除内容,表示删除了页面中的部分内容;
MODIFY:修改内容,表示修改了页面中的内容;
COPY:复制内容,表示将页面中的某一部分内容的副本插入到了页面中;
MOVE:移动内容,表示将页面中的某一部分内容移动到了另一个位置;
NULL:完全相同,内容未发生变化。
104、若所述子树的变更类型为预设的需要进行合法验证的变更类型,则获取所述子树对应的变更内容。
举例来说,本实施例可以将COPY、MOVE以及NULL三种变更类型预设为合法变更,将INSERT、MODIFY、DELETE三种变更类型预设为需要进行合法验证的变更类型。
进一步举例来说,根据步骤103中确定的所述第一DOM树中与所述第二DOM树中每一子树的变更类型;若所述子树的变更类型为删除或插入或修改,则确定所述子树的变更类型为需要进行合法验证的变更类型。
由于DOM树不仅描述了文档的结构,还定义了每一子树(节点)的对象属性,利用每一子树的对象属性,可以方便的访问、修改、添加和提取每一子树以及对应的内容,举例来说,本实施例中所述的获取所述子树对应的变更内容,具体可以利用开源的网页解析工具提取所述子树对应的网页标签,根据所述子树对应的网页标签提取相应的内容。
步骤105、查询内容权重列表,确定所述子树对应的变更内容的权重等级。
举例来说,本实施例预先对第一DOM树中所有子树对应的内容设置了权重等级,并保存在与所述第一DOM树对应的第一内容权重列表中,本实施例预先对第二DOM树中所有子树对应的内容设置了权重等级,并保存在与所述第二DOM树对应的第二内容权重列表中。
对应地,若所述子树为第一DOM中的子树,则查询与所述第一DOM树对应的第一内容权重列表,若所述子树为第二DOM中的子树,则查询与所述第二DOM树对应的第二内容权重列表。
步骤106、若所述子树对应的变更内容的权重等级大于预设的非法变更等级,则确定所述子树的变更类型为非法变更。
需要说明的是,本实施例的预设的非法变更等级可以根据具体网页的相关内容进行具体的设定,内容权重等级也可以根据具体网页的相关内容进行具体的设定。
举例来说,若第一DOM树中的子树的变更类型删除,获取与该子树对应的被删除的内容,查询与所述第一DOM树对应的第一权重内容列表,与该被删除的内容对应的权重等级为10,假设权重等级越大说明该权重等级对应的内容越重要,假设预设的非法变更等级为5,则确定该子树的变更类型为非法删除,进而可以确定第一网页中的重要内容被非法删除。
本发明实施例采用比较两棵DOM树的方法,可以确定两棵DOM树中每一子树的变更类型,若确定所述子树的变更类型为预设的需要进行合法验证的变更类型,则进一步获取所述子树对应的变更内容,通过查询内容权重列表确定所述子树的变更类型是否为非法变更,解决了现有的检测网页内容变更的方法存在检测效率低、准确率低的问题。
图3为图1所示实施例中步骤103的一种具体实现的流程示意图,假设第一网页为源网页,第二网页为与第一网页同源的网页,对应地,第一DOM树为源DOM树,第二DOM树为与第一DOM树同源的DOM树,将第一DOM树定义为TA,将第二DOM树定义为TB,TA的根节点为root1,可以设为第一父节点,TB的根结点为root2,可以设为第二父节点,如图3所示,包括:
步骤301、比较第一父节点的hash_dom值是否等于第二父节点的hash_dom值,若是,则结束,否则执行步骤302。
在步骤301中,将TA的根节点root1设为第一父节点,TB的根结点root2设为第二父节点,若第一父节点的hash_dom值等于第二父节点的hash_dom值,则说明第一DOM树和第二DOM树完全相同,也就是说,第一网页与第二网页完全相同,算法结束;
若第一父节点的hash_dom值不等于第二父节点的hash_dom值,则说明第一DOM树和第二DOM树不相同,因为实施例一已确定第一DOM树和第二DOM树为同源DOM树,同时将root1和root2标记为modify。
步骤302、查找第一父节点的第一级子树集合,确定是否存在与第二父节点中的第一级子树集合中任一子树bi具有相同hash_dom值的子树ai,若存在,则执行步骤303,否则执行步骤306。
步骤303、确定ai是否被标记过,若是,则执行步骤304、否则执行步骤305。
步骤304、ai已被标记,将ai标记增加COPY,bi标记为COPY。
举例来说,ai已被标记,也就是说ai已经被TB中的其他子树匹配过,若原标记为NULL,可以将ai标记为NULL和COPY,也就是,在原标记的基础上将ai标记增加COPY标记,将bi标记为COPY。
步骤305、ai未被标记,对ai进行标记,并将ai和bi同时标记为NULL。
步骤306、查找第一父节点的第一级子树集合,确定是否存在与第二父节点中的第一级子树集合中任一子树bi同源的子树ak,若存在,返回步骤302,否则,执行步骤307。
需要说明的是,在步骤302中,查找第一父节点的第一级子树集合,确定存在与第二父节点中的第一级子树集合中任一子树bi的hash_dom值不同的子树ak,可以通过实施例一所述的同源树的确定方法确定bi子树和ak子树是否为同源子树,具体为:将ak设为第一父节点,将bi设为第二父节点,分别计算第一父节点和第二父节点中所有子树的hash_dom值,并将第一父节点和第二父节点中所有子树的hash_dom值按照预设的顺序分别组成第一哈希序列和第二哈希序列,利用相似度算法计算所述第一哈希序列与所述第二哈希序列的相似度,并确定bi子树和ak子树是否同源树。
若确定bi子树和ak子树是同源树,则对ak子树进行标记,将bi子树和ak子树的标记为修改,同时可以递归处理bi子树和ak子树,进一步确定bi子树和ak子树中每一个子树的变更类型,即将ak子树作为第一父节点,bi作为第二父节点,采用步骤302-311所述的方法确定bi子树和ak子树中每一个子树的变更类型。
步骤307、查找TA中所有子树集合,并确定是否存在与TB中bi具有相同hash_dom值的子树aj,若存在,则执行步骤309,否则执行步骤308。
通过步骤302至306,查找第一父节点的第一级子树集合,若确定不存在与第二父节点中的第一级子树集合中bi具有相同hash_dom值的子树ai,或者确定不存在中的第一级子树集合中bi同源的子树ai,则可以查找TA中所有子树集合,并确定是否存在与TB中bi具有相同hash_dom值的子树aj。
步骤308、将bi标记为INSERT。
步骤309、确定aj是否被标记过,若是,则执行步骤310、否则执行步骤311。
步骤310、若aj已被标记,aj添加MOVE标记,bi标记为COPY。
步骤311、若aj未被标记,则对aj子树进行标记,并将aj和bi标记为MOVE。
需要说明的是,通过上述步骤,可以对TB中所有子树进行hash_dom值匹配处理,并标注TB中所有子树的变更类型,本实施例中,若TA中存在未进行标记的子树aj,则将未进行标记的子树aj都标记为DELETE,算法结束。
图4为本发明实施例二提供的检测网页内容变更的装置的结构示意图,包括:
生成模块41,用于将第一网页生成第一文档对象模型DOM树,将第二网页生成第二DOM树;
第一确定模块42,用于将第一DOM树和第二DOM树进行比较,确定所述第一DOM树和所述第二DOM树为同源DOM树;
第二确定模块43,用于将所述第一DOM树中所有的子树与所述第二DOM树中所有的子树进行匹配,确定所述第一DOM树中与所述第二DOM树中每一子树的变更类型;
获取模块44,用于若所述子树的变更类型为预设的需要进行合法验证的变更类型,则获取所述子树对应的变更内容;
查询模块45,用于查询内容权重列表,确定所述子树对应的变更内容的权重等级;
第三确定模块46,用于若所述子树对应的变更内容的权重等级大于预设的非法变更等级,则确定所述子树的变更类型为非法变更。
举例来说,第一确定模块42具体包括:
第一计算单元,用于确定所述第一DOM树与所述第二DOM树中所有子树的哈希值hash_com;
序列单元,用于分别将所述第一DOM树中所有子树的hash_dom值与所述第二DOM树中所有子树的hash_dom值按照预设的顺序组成第一哈希序列和第二哈希序列;
第一确定单元,用于利用相似度算法计算所述第一哈希序列与所述第二哈希序列的相似度,若所述第一哈希序列与所述第二哈希序列的相似度大于哈希序列相似度阈值,则确定所述第一DOM树与所述第二DOM树为同源DOM树。
举例来说,第二确定模块43,具体用于查找所述第一DOM树的第一级子树集合A,若确定存在与第二DOM树的第一级子树集合B中任一子树bi具有相同hash_dom值的子树ai,则确定所述具有相同hash_dom值的子树ai是否已被标记,若所述具有相同hash_dom值的子树子树ai被标记,则确定所述具有相同hash_dom值的子树ai的变更类型增加复制,确定与所述具有相同hash_dom值的子树ai对应的子树bi的变更类型为复制,若所述具有相同hash_dom值的子树ai未被标记,则对所述具有相同hash_dom值的子树aj进行标记,并确定所述具有相同hash_dom值的子树ai和与所述具有相同hash_dom值的子树ai对应的子树bi的变更类型为相同。
进一步举例来说,第二确定模块43,具体还用于查找所述第一DOM树的第一级子树集合A,若确定存在与第二DOM树的第一级子树集合B中任一子树bi的hash_dom值不相同、且不同源的子树ai,则查找所述第一DOM树中所有子树集合确定是否存在与所述第二DOM树的第一级子树集合B中任一子树bi具有相同hash_dom值的子树aj
若存在所述具有相同hash_dom值的子树aj,则确定所述具有相同hash_dom值的子树aj是否被标记,若所述具有相同hash_dom值的子树aj被标记,则确定所述具有相同hash_dom值的子树aj的变更类型增加移动,所述具有相同hash_dom值的子树aj对应的子树bi的变更类型为复制;若所述具有相同hash_dom值的子树aj未被标记,则对所述具有相同hash_dom值的子树aj进行标记,并确定所述具有相同hash_dom值的子树aj和所述具有相同hash_dom值的子树aj对应的子树bi的变更类型为移动;
若所述第二DOM树的第一级子树集合B中存在与所述第一DOM树中所有子树集合中的任一子树aj的hash_dom值不相同、且不同源的子树bi,则确定所述子树bi的变更类型为插入。
进一步举例来说,第二确定模块43,具体还用于查找第一DOM树的第一级子树集合A,若确定存在与第二DOM树的第一级子树集合B中任一子树bi同源的子树ak,则对所述子树ak进行标记,确定所述子树ak和与所述子树ak同源的子树bi的变更类型为修改。
进一步举例来说,第二确定模块43,具体还用于查询所述第一DOM树的所有子树集合;若确定存在与所述第二DOM树的所有子树集合中任一子树bi的hash_dom值不相同的子树aj,且所述子树aj未被标记,则确定所述子树aj的变更类型为删除。
举例来说,查询模块45,具体用于若所述子树为第一DOM树中的子树,则查询与第一DOM树对应的第一内容权重列表,确定所述子树对应的变更内容的权重等级;若所述子树为第二DOM树中的子树,则查询与第二DOM树对应的第二内容权重列表,确定所述子树对应的变更内容的权重等级。
本实施例所述装置可以具体执行图1所示方法实施例所述的方法,其实现原理和技术效果不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (4)

1.一种检测网页内容变更的方法,其特征在于,包括:
将第一网页生成第一文档对象模型DOM树,将第二网页生成第二DOM树;
将第一DOM树和第二DOM树进行比较,确定所述第一DOM树和所述第二DOM树为同源DOM树;
其中,所述将第一DOM树和第二DOM树进行比较,确定所述第一DOM树和所述第二DOM树为同源DOM树,具体包括:
确定所述第一DOM树与所述第二DOM树中所有子树的哈希值hash_dom;所述hash_dom值是以当前节点为根节点的整棵DOM树的hash值;
分别将所述第一DOM树中所有子树的hash_dom值与所述第二DOM树中所有子树的hash_dom值按照预设的顺序组成第一哈希序列和第二哈希序列;
利用相似度算法计算所述第一哈希序列与所述第二哈希序列的相似度,若所述第一哈希序列与所述第二哈希序列的相似度大于哈希序列相似度阈值,则确定所述第一DOM树与所述第二DOM树为同源DOM树;
将所述第一DOM树中所有的子树与所述第二DOM树中所有的子树进行匹配,确定所述第一DOM树中与所述第二DOM树中每一子树的变更类型;
若所述子树的变更类型为预设的需要进行合法验证的变更类型,则获取所述子树对应的变更内容;
查询内容权重列表,确定所述子树对应的变更内容的权重等级;
若所述子树对应的变更内容的权重等级大于预设的非法变更等级,则确定所述子树的变更类型为非法变更;
其中,若所述第一DOM树为源DOM树,所述第二DOM树为所述第一DOM树的同源DOM树;所述将所述第一DOM树中所有的子树与所述第二DOM树中所有的子树进行匹配,确定所述第一DOM树中与所述第二DOM树中每一子树的变更类型具体包括:
查找所述第一DOM树的第一级子树集合A,若确定存在与第二DOM树的第一级子树集合B中任一子树bi具有相同hash_dom值的子树ai,则确定所述具有相同hash_dom值的子树ai是否已被标记,若所述具有相同hash_dom值的子树子树ai被标记,则确定所述具有相同hash_dom值的子树ai的变更类型增加复制,确定与所述具有相同hash_dom值的子树ai对应的子树bi的变更类型为复制,若所述具有相同hash_dom值的子树ai未被标记,则对所述具有相同hash_dom值的子树ai进行标记,并确定所述具有相同hash_dom值的子树ai和与所述具有相同hash_dom值的子树ai对应的子树bi的变更类型为相同;
或者,
所述将所述第一DOM树中所有的子树与所述第二DOM树中所有的子树进行匹配,确定所述第一DOM树中与所述第二DOM树中每一子树的变更类型定具体包括:
查找所述第一DOM树的第一级子树集合A,若确定存在与第二DOM树的第一级子树集合B中任一子树bi的hash_dom值不相同、且不同源的子树ai,则查找所述第一DOM树中所有子树集合确定是否存在与所述第二DOM树的第一级子树集合B中任一子树bi具有相同hash_dom值的子树aj;若存在所述具有相同hash_dom值的子树aj,则确定所述具有相同hash_dom值的子树aj是否被标记,若所述具有相同hash_dom值的子树aj被标记,则确定所述具有相同hash_dom值的子树aj的变更类型增加移动,所述具有相同hash_dom值的子树aj对应的子树bi的变更类型为复制;若所述具有相同hash_dom值的子树aj未被标记,则对所述具有相同hash_dom值的子树aj进行标记,并确定所述具有相同hash_dom值的子树aj和所述具有相同hash_dom值的子树aj对应的子树bi的变更类型为移动;若所述第二DOM树的第一级子树集合B中存在与所述第一DOM树中所有子树集合中的任一子树aj的hash_dom值不相同、且不同源的子树bi,则确定所述子树bi的变更类型为插入;
或者,
所述将所述第一DOM树中所有的子树与所述第二DOM树中所有的子树进行匹配,确定所述第一DOM树中与所述第二DOM树中每一子树的变更类型具体包括:
查找第一DOM树的第一级子树集合A,若确定存在与第二DOM树的第一级子树集合B中任一子树bi同源的子树ak,则对所述子树ak进行标记,确定所述子树ak和与所述子树ak同源的子树bi的变更类型为修改;或者,
所述将所述第一DOM树中所有的子树与所述第二DOM树中所有的子树进行匹配,确定所述第一DOM树中与所述第二DOM树中每一子树的变更类型具体包括:
查询所述第一DOM树的所有子树集合;若确定存在与所述第二DOM树的所有子树集合中任一子树bi的hash_dom值不相同的子树aj,且所述子树aj未被标记,则确定所述子树aj的变更类型为删除。
2.根据权利要求1所述的方法,其特征在于,所述查询内容权重列表,确定所述子树对应的变更内容的权重等级具体包括:
若所述子树为第一DOM树中的子树,则查询与第一DOM对应的第一内容权重列表,确定所述子树对应的变更内容的权重等级;
若所述子树为第二DOM树中的子树,则查询与第二DOM对应的第二内容权重列表,确定所述子树对应的变更内容的权重等级。
3.一种检测网页内容变更的装置,其特征在于,包括:
生成模块,用于将第一网页生成第一文档对象模型DOM树,将第二网页生成第二DOM树;
第一确定模块,用于将第一DOM树和第二DOM树进行比较,确定所述第一DOM树和所述第二DOM树为同源DOM树;
其中,所述第一确定模块具体包括:
第一计算单元,用于确定所述第一DOM树与所述第二DOM树中所有子树的哈希值hash_dom;
序列单元,用于分别将所述第一DOM树中所有子树的hash_dom值与所述第二DOM树中所有子树的hash_dom值按照预设的顺序组成第一哈希序列和第二哈希序列;所述hash_dom值是以当前节点为根节点的整棵DOM树的hash值;
第一确定单元,用于利用相似度算法计算所述第一哈希序列与所述第二哈希序列的相似度,若所述第一哈希序列与所述第二哈希序列的相似度大于哈希序列相似度阈值,则确定所述第一DOM树与所述第二DOM树为同源DOM树;
第二确定模块,用于将所述第一DOM树中所有的子树与所述第二DOM树中所有的子树进行匹配,确定所述第一DOM树中与所述第二DOM树中每一子树的变更类型;
获取模块,用于若所述子树的变更类型为预设的需要进行合法验证的变更类型,则获取所述子树对应的变更内容;
查询模块,用于查询内容权重列表,确定所述子树对应的变更内容的权重等级;
第三确定模块,用于若所述子树对应的变更内容的权重等级大于预设的非法变更等级,则确定所述子树的变更类型为非法变更;
其中,所述第二确定模块,具体用于查找所述第一DOM树的第一级子树集合A,若确定存在与第二DOM树的第一级子树集合B中任一子树bi具有相同hash_dom值的子树ai,则确定所述具有相同hash_dom值的子树ai是否已被标记,若所述具有相同hash_dom值的子树子树ai被标记,则确定所述具有相同hash_dom值的子树ai的变更类型增加复制,确定与所述具有相同hash_dom值的子树ai对应的子树bi的变更类型为复制,若所述具有相同hash_dom值的子树ai未被标记,则对所述具有相同hash_dom值的子树ai进行标记,并确定所述具有相同hash_dom值的子树ai和与所述具有相同hash_dom值的子树ai对应的子树bi的变更类型为相同;
或者,
具体用于查找所述第一DOM树的第一级子树集合A,若确定存在与第二DOM树的第一级子树集合B中任一子树bi的hash_dom值不相同、且不同源的子树ai,则查找所述第一DOM树中所有子树集合确定是否存在与所述第二DOM树的第一级子树集合B中任一子树bi具有相同hash_dom值的子树aj;若存在所述具有相同hash_dom值的子树aj,则确定所述具有相同hash_dom值的子树aj是否被标记,若所述具有相同hash_dom值的子树aj被标记,则确定所述具有相同hash_dom值的子树aj的变更类型增加移动,所述具有相同hash_dom值的子树aj对应的子树bi的变更类型为复制;若所述具有相同hash_dom值的子树aj未被标记,则对所述具有相同hash_dom值的子树aj进行标记,并确定所述具有相同hash_dom值的子树aj和所述具有相同hash_dom值的子树aj对应的子树bi的变更类型为移动;若所述第二DOM树的第一级子树集合B中存在与所述第一DOM树中所有子树集合中的任一子树aj的hash_dom值不相同、且不同源的子树bi,则确定所述子树bi的变更类型为插入;
或者,
具体用于查找第一DOM树的第一级子树集合A,若确定存在与第二DOM树的第一级子树集合B中任一子树bi同源的子树ak,则对所述子树ak进行标记,确定所述子树ak和与所述子树ak同源的子树bi的变更类型为修改;
或者,
具体用于查询所述第一DOM树的所有子树集合;若确定存在与所述第二DOM树的所有子树集合中任一子树bi的hash_dom值不相同的子树aj,且所述子树aj未被标记,则确定所述子树aj的变更类型为删除。
4.根据权利要求3所述的装置,其特征在于,所述查询模块,具体用于若所述子树为第一DOM树中的子树,则查询与第一DOM对应的第一内容权重列表,确定所述子树对应的变更内容的权重等级;若所述子树为第二DOM树中的子树,则查询与第二DOM对应的第二内容权重列表,确定所述子树对应的变更内容的权重等级。
CN201210129996.7A 2012-04-27 2012-04-27 检测网页内容变更的方法及装置 Active CN102682098B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210129996.7A CN102682098B (zh) 2012-04-27 2012-04-27 检测网页内容变更的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210129996.7A CN102682098B (zh) 2012-04-27 2012-04-27 检测网页内容变更的方法及装置

Publications (2)

Publication Number Publication Date
CN102682098A CN102682098A (zh) 2012-09-19
CN102682098B true CN102682098B (zh) 2014-05-14

Family

ID=46814023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210129996.7A Active CN102682098B (zh) 2012-04-27 2012-04-27 检测网页内容变更的方法及装置

Country Status (1)

Country Link
CN (1) CN102682098B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577526B (zh) * 2013-08-01 2017-06-06 星云融创(北京)科技有限公司 一种验证页面是否被修改的方法、系统及浏览器
CN105302803B (zh) * 2014-05-28 2019-03-19 中国科学院沈阳自动化研究所 一种产品bom差异分析与同步更新方法
CN107204960B (zh) * 2016-03-16 2020-11-24 阿里巴巴集团控股有限公司 网页识别方法及装置、服务器
CN108073828B (zh) * 2016-11-16 2022-02-18 阿里巴巴集团控股有限公司 一种网页防篡改方法、装置及系统
CN106599242B (zh) * 2016-12-20 2019-03-26 福建六壬网安股份有限公司 一种基于相似度计算的网页变更监测方法和系统
CN106960058B (zh) * 2017-04-05 2021-01-12 金电联行(北京)信息技术有限公司 一种网页结构变更检测方法及系统
CN109255088A (zh) * 2017-07-07 2019-01-22 普天信息技术有限公司 网页数据监测方法和设备
CN108021692B (zh) * 2017-12-18 2022-03-11 北京天融信网络安全技术有限公司 一种监控网页的方法、服务器及计算机可读存储介质
CN109542776A (zh) * 2018-11-07 2019-03-29 北京潘达互娱科技有限公司 页面比对方法、装置及设备
CN109815744A (zh) * 2018-12-18 2019-05-28 中国科学院计算机网络信息中心 网页篡改的检测方法、装置及存储介质
CN110046295A (zh) * 2019-03-12 2019-07-23 重庆金融资产交易所有限责任公司 网页结构变更检测方法、装置及计算机可读存储介质
CN111143744B (zh) * 2019-12-26 2023-10-13 杭州安恒信息技术股份有限公司 一种web资产检测的方法、装置、设备及可读存储介质
CN112887381B (zh) * 2021-01-15 2022-07-19 中国地质大学(武汉) 用于面向特定网络入口的新内容检测和汇聚方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471818A (zh) * 2007-12-24 2009-07-01 北京启明星辰信息技术股份有限公司 一种恶意注入脚本网页检测方法和系统
CN101587488A (zh) * 2009-05-25 2009-11-25 深圳市腾讯计算机系统有限公司 一种搜索引擎中页面重定向的检测方法及装置
JP2010086517A (ja) * 2008-09-29 2010-04-15 Mitsubishi Electric Research Laboratories Inc コンピュータによって実施される、ウェブページからデータを抽出する方法
CN102316081A (zh) * 2010-06-30 2012-01-11 北京启明星辰信息技术股份有限公司 一种相似网页的识别方法及装置
WO2012022044A1 (en) * 2010-08-20 2012-02-23 Hewlett-Packard Development Company, L. P. Systems and methods for filtering web page contents

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8667015B2 (en) * 2009-11-25 2014-03-04 Hewlett-Packard Development Company, L.P. Data extraction method, computer program product and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471818A (zh) * 2007-12-24 2009-07-01 北京启明星辰信息技术股份有限公司 一种恶意注入脚本网页检测方法和系统
JP2010086517A (ja) * 2008-09-29 2010-04-15 Mitsubishi Electric Research Laboratories Inc コンピュータによって実施される、ウェブページからデータを抽出する方法
CN101587488A (zh) * 2009-05-25 2009-11-25 深圳市腾讯计算机系统有限公司 一种搜索引擎中页面重定向的检测方法及装置
CN102316081A (zh) * 2010-06-30 2012-01-11 北京启明星辰信息技术股份有限公司 一种相似网页的识别方法及装置
WO2012022044A1 (en) * 2010-08-20 2012-02-23 Hewlett-Packard Development Company, L. P. Systems and methods for filtering web page contents

Also Published As

Publication number Publication date
CN102682098A (zh) 2012-09-19

Similar Documents

Publication Publication Date Title
CN102682098B (zh) 检测网页内容变更的方法及装置
US7941420B2 (en) Method for organizing structurally similar web pages from a web site
US9384175B2 (en) Determination of differences between electronic documents
US11205041B2 (en) Web element rediscovery system and method
US9639631B2 (en) Converting XML to JSON with configurable output
US20090063538A1 (en) Method for normalizing dynamic urls of web pages through hierarchical organization of urls from a web site
JP2010501096A (ja) ラッパー生成およびテンプレート検出の協同最適化
US8321382B2 (en) Validating aggregate documents
KR20120124581A (ko) 개선된 유사 문서 탐지 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
US8762829B2 (en) Robust wrappers for web extraction
JP2009543255A (ja) パラレル・データを特定するために階層的かつ順次的なドキュメント・ツリーを対応付けること
JP2006004417A (ja) 情報ファイルの特定のタイプを認識する方法及び装置
Gowda et al. Clustering web pages based on structure and style similarity (application paper)
CN107862039B (zh) 网页数据获取方法、系统和数据匹配推送方法
Ferrara et al. Automatic wrapper adaptation by tree edit distance matching
CN114817811B (zh) 一种网站解析方法和装置
Döhmen et al. Multi-hypothesis CSV parsing
CN111782798B (zh) 摘要生成方法、装置和设备以及项目管理方法
CN104765882A (zh) 一种基于网页特征字符串的互联网网站统计方法
CN105740370B (zh) 一种在线Web新闻内容抽取系统
US8954438B1 (en) Structured metadata extraction
CN110413307B (zh) 代码功能的关联方法、装置及电子设备
US20090204889A1 (en) Adaptive sampling of web pages for extraction
Nethra et al. WEB CONTENT EXTRACTION USING HYBRID APPROACH.
CN103870590A (zh) 具有报错特征的网页识别方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NSFOCUS TECHNOLOGY CO., LTD.

Effective date: 20140514

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140514

Address after: 100089 Beijing city Haidian District Road No. 4 North wa Yitai 3 storey building

Patentee after: NSFOCUS INFORMATION TECHNOLOGY Co.,Ltd.

Patentee after: NSFOCUS TECHNOLOGIES Inc.

Address before: 100089 Beijing city Haidian District Road No. 4 North wa Yitai 3 storey building

Patentee before: NSFOCUS INFORMATION TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder

Address after: 100089 3rd floor, Yitai building, 4 Beiwa Road, Haidian District, Beijing

Patentee after: NSFOCUS Technologies Group Co.,Ltd.

Patentee after: NSFOCUS TECHNOLOGIES Inc.

Address before: 100089 3rd floor, Yitai building, 4 Beiwa Road, Haidian District, Beijing

Patentee before: NSFOCUS INFORMATION TECHNOLOGY Co.,Ltd.

Patentee before: NSFOCUS TECHNOLOGIES Inc.

CP01 Change in the name or title of a patent holder