内容筛选方法、装置及服务器与流程

文档序号:11134205阅读:436来源:国知局
内容筛选方法、装置及服务器与制造工艺
本发明涉及互联网资源管理
技术领域
,具体而言,涉及一种对与设定目标主题相关的内容进行筛选的方法、装置及服务器。
背景技术
:现目前,针对设定的目标主题一般通过网络爬虫从互联网中去采集互联网资源。然而,采用网络爬虫采集的内容因数量大对存储空间与计算资源的提出了很高的要求。事实上,在针对设定的目标主题时,用户往往只关心包含有某些关键词的有价值的文本内容。为了解决上述问题,常用的做法是对网络爬虫采集的互联网资源进行内容筛选。传统的内容筛选方法存在因网络文本字符编码的不统一而兼容性差,而导致无法实现内容的快速筛选的缺陷。技术实现要素:有鉴于此,本发明一较佳实施例的目的在于提供一种对不同格式文本字符编码兼容性能良好的内容筛选方法,所述方法包括:从HTTP响应头中获取文件的类型,在所述获取文件的类型为文本类型时,按照预设的编码规则对HTTP响应正文中的内容进行编码得到字节流;将所述HTTP响应正文中的内容对应的字节流输入根据设定的目标主题生成的筛选器中进行模式匹配;及在匹配成功时,将所述HTTP响应正文中的内容作为与所述设定的目标主题相关的网页内容进行保存。本发明另一较佳实施例还提供一种内容筛选装置,所述装置包括:文件获取与编码模块,用于从HTTP响应头中获取文件的类型,在所述获取文件的类型为文本类型时,按照预设的编码规则对HTTP响应正文中的内容进行编码得到字节流;模式匹配模块,用于将所述HTTP响应正文中的内容对应的字节流输入根据设定的目标主题生成的筛选器中进行模式匹配;及网页内容保存模块,用于在匹配成功时,将所述HTTP响应正文中的内容作为与所述设定的目标主题相关的网页内容进行保存。本发明另一较佳实施例还提供一种服务器,包括存储器、处理器以及内容筛选装置。所述内容筛选装置安装或存储于所述存储器由所述处理器控制内容筛选装置各功能模块的执行。与现有技术相比,本发明实施例提供的内容筛选方法及装置,在获取文件的类型为文本类型时,按照预设的编码规则对HTTP响应正文中的内容进行编码得到字节流,将得到的字节流输入根据设定的目标主题生成的筛选器进行模式匹配后进行存储。相对于现有的内容筛选方法,将HTTP响应正文中的内容按照预设的编码规则(如UTF-8)进行编码,可以解决HTTP响应正文中的内容编码与筛选器中编码规则不一致导致的兼容性差,而无法提升网页内容筛选速度的技术问题。为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1是本发明较佳实施例提供的服务器的方框示意图。图2是本发明较佳实施例提供的图1中所示的内容筛选装置的一种功能模块框图。图3是本发明较佳实施例提供的一种HTTP响应头的示例。图4是本发明较佳实施例提供的图1中所示的内容筛选装置的另一种功能模块框图。图5是本发明较佳实施例提供的一种字典树结构图。图6是由图5的字典树得到的一种确定性有穷自动机筛选器结构示意图。图7是本发明较佳实施例提供的一个简单确定性有穷自动机筛选器的状态图。图8是本发明较佳实施例提供的一种内容筛选方法的具体流程图。图9是本发明较佳实施例提供的另一种内容筛选方法的具体流程图。图10是本发明较佳实施例提供的生成筛选器的流程图。图11是图10中步骤S114包括的子步骤流程示意图。图标:100-服务器;110-内容筛选装置;111-存储器;112-处理器;113-通信单元;1101-文件获取与编码模块;1102-模式匹配模块;1103-网页内容保存模块;1104-队列生成模块;1105-判断与取出模块;1106-响应信息获取模块;1107-关键词编码模块;11071-关键字编码子模块;11072-字节流集合生成子模块;1108-筛选器创建模块。具体实施方式下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。请参照图1,图1是本发明实施例提供的服务器100的方框示意图。所述服务器100包括内容筛选装置110、存储器111、处理器112及通信单元113。所述存储器111、处理器112及通信单元113的各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。其中,所述存储器111可以是,但不限于,随机存取存储器(RandomAccessMemory,RAM),只读存储器(ReadOnlyMemory,ROM),可编程只读存储器(ProgrammableRead-OnlyMemory,PROM),可擦除只读存储器(ErasableProgrammableRead-OnlyMemory,EPROM),电可擦除只读存储器(ElectricErasableProgrammableRead-OnlyMemory,EEPROM)等。其中,存储器111用于存储程序,所述处理器112在接收到执行指令后,执行所述程序。所述通信单元113用于通过网络建立所述服务器100与其它通信终端之间的通信连接,并用于通过网络接收和发送数据。所述内容筛选装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器111中或固化在所述服务器100的操作系统(operatingsystem,OS)中的软件功能模块。所述处理器112用于执行所述存储器111中存储的可执行模块,例如内容筛选装置110所包括的软件功能模块及计算机程序等。本实施例中,所述内容筛选装置110为服务器100提供针对不同设定目标主题的内容筛选服务,具体的方法在后续进行详细说明。应当理解的是,图1所示的结构仅为示意,所述服务器100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。请参照图2,是本发明较佳实施例提供的图1所示内容筛选装置110的功能模块框图。所述内容筛选装置110包括文件获取与编码模块1101、模式匹配模块1102及网页内容保存模块1103。所述文件获取与编码模块1101,用于从HTTP响应头中获取文件的类型,在所述获取文件的类型为文本类型时,按照预设的编码规则对HTTP响应正文中的内容进行编码得到字节流。请参照图3,图3为一个典型的HTTP响应头的示例,所述文件获取与编码模块1101可以从HTTP响应头的Content-Type中获取文件扩展名。当获取文件的扩展名是文本类型时,对HTTP响应正文中的内容进行编码,其中,所述文本类型包括,但不限于text/xml、text/html、text/plain等格式的文本。若获取文件的扩展名不是文本类型,重新获得新的HTTP响应头进行上述操作。文件获取与编码模块1101不仅可以直接按照预设的编码规则对HTTP响应正文中的内容进行编码得到字节流,还可以先从HTTP响应头中获取字符集(如,charset)。若HTTP响应头中没有charset键值对或charset键值对不是默认的预设的编码规则(比如,UTF-8),文件获取与编码模块1101可将字符集替换为预设的编码规则,并对所述HTTP响应正文中的内容按照预设的编码规则进行编码。若charset键值对为预设的编码规则,直接对所述HTTP响应正文中的内容进行编码。请参照图4,在本实施例中,所述内容筛选装置110还可以包括用于获取HTTP响应内容的队列生成模块1104、判断与取出模块1105及响应信息获取模块1106,其中,所述HTTP响应内容包括HTTP响应响应头及HTTP响应正文中的内容。下面结合上述模块对获取HTTP响应内容的过程进行描述。首先,所述队列生成模块1104生成统一资源定位器(UniformResoureLocator,URL)队列。具体地,统一资源定位器队列可以从一定数量的种子统一资源定位器出发,在网络爬虫执行网络资源的爬取过程中,采用搜索算法(比如,广度优先搜索算法)动态的获取新的统一资源定位器,并将新的统一资源定位器追加到队列中。其次,所述判断与取出模块1105判断所述统一资源定位器队列是否为空,在所述统一资源定位器队列不为空时,从所述统一资源定位器队列中取出任意一个统一资源定位器。具体地,当所述统一资源定位器队列不为空时,所述判断与取出模块1105通过HTTP的GET方法从所述统一资源定位器队列中取出任意一个统一资源定位器。当所述统一资源定位器队列为空时,结束内容筛选。最后,所述响应信息获取模块1106由取出的所述统一资源定位器获取访问所述统一资源定位器对应网页的HTTP响应信息,所述HTTP响应信息包括HTTP响应头及HTTP响应正文中的内容。所述模式匹配模块1102用于将所述HTTP响应正文中的内容对应的字节流输入根据设定的目标主题生成的筛选器中进行模式匹配。请再次参照图4,在本实施例中,所述内容筛选装置110还可以包括用于生成所述筛选器的关键词编码模块1107及筛选器创建模块1108。下面结合上述模块对所述筛选器的生成过程进行描述。所述关键词编码模块1107对所述目标主题的关键词按照所述预设的编码规则进行编码,得到所述目标主题的关键词所对应的字节流集合。具体地,以从互联网中筛选目标主题为“水门事件”的文本资源为例,与该目标主题相关的关键字可以包括:“水门”、“深喉”及“尼克松”。请再次参照图4,所述关键词编码模块1107包括关键字编码子模块11071及字节流集合生成子模块11072。所述关键字编码子模块11071用于对所述关键词中的每个关键字进行编码,得到每个关键字对应的字符串。具体地,还是以“水门事件”为例,预设的编码规则采用UFT-8编码。该主题的关键字与编码的字符串的关系可以参见表1。表1所述字节流集合生成子模块11072用于由关键字对应的字符串得到关键词的字节流,由每个关键词的字节流构成所述目标主题的关键词所对应的字节流集合。具体地,通过关键字对应的字符串的组合可以得到关键词的字节流,具体可以参照表2。关键词字节流(十进制表示)水门230176180233151168深喉230183177229150137尼克松229176188229133139230157190表2所述筛选器创建模块1108根据所述字节流集合创建所述筛选器。具体地,所述筛选器创建模块1108可以创建一字典树,并将所述字节流集合生成子模块11072生成的字节流集合中的元素一一插入到字典树中。字典树的每个节点可以用数据结构TrieNode表示,其中TrieNode的数据结构如表3。表3TrieNode包含两个属性,其中code为十进制的字节编码,isEnd为Boolean(布尔)类型,表示一个字节流的结束。对于一个字典树而言,字节流集合中任意一个字节流的最后一个字节对应TrieNode的isEnd为True,缺省为False。这样的字典树,构造过程首先是初始化树的根节点,然后将每个字节流插入到字典树中,其插入方法可以用以下伪代码实现:通过上述方法,可以得到如图5所示的字典树。对应地,请参照图6,图6为基于图5中的字典树得到的确定性有穷自动机(DeterministicFiniteAutomata,DFA)的筛选器的示意图。在本实施例中,所述模式匹配模块1102通过所述筛选器采用确定性有穷自动机对所述HTTP响应正文中的内容对应的字节流进行模式匹配,其中,所述模式匹配是指根据确定性有穷自动机的状态转移关系,寻找接受状态的过程。在本实施例中,采用确定性有穷自动机对所述HTTP响应正文中的内容对应的字节流进行模式匹配的具体方式可以如下。请参照图7,以简单的确定性有穷自动机为例,假设S1和S2是状态;其中S1表示接受状态,状态以双圆圈表示,每条边表示输入。用δ表示边,则对于上述确定性有穷自动机,有以下关系:δ(S1,1)=S1δ(S1,0)=S2δ(S2,1)=S2δ(S2,0)=S1模式匹配,是根据确定性有穷自动机的状态转移关系,寻找接受状态的过程。下面举实例说明:例1:给定数字序列1001,判断是否匹配。1、δ(S1,1)=S12、δ(S1,0)=S23、δ(S2,0)=S14、δ(S1,1)=S1……S1是接受状态,故匹配成功例2:给定数字序列0001,判断是否匹配。1、δ(S1,0)=S22、δ(S2,0)=S13、δ(S1,0)=S24、δ(S2,1)=S2……S2不是接受状态,故未匹配成功。所述网页内容保存模块1103用于在匹配成功时,将所述HTTP响应正文中的内容作为与所述设定的目标主题相关的网页内容进行保存。具体地,还是以上面描述的目标主题“水门事件”为例,假设创建的筛选器只要在满足一个关键词的情况下即视为模式匹配。则在所述HTTP响应正文中的内容中只要包括水门、深喉、尼克松中的一个即可将该HTTP响应正文中的内容作为与所述设定的目标主题相关的网页内容进行保存。请参照图8,是本发明较佳实施例提供的应用于图1所示服务器100的内容筛选方法的流程图。所述方法相关的流程定义的方法步骤可以由所述处理器112实现。下面对图8所示的具体流程进行详细阐述。步骤S111,从HTTP响应头中获取文件的类型,在所述获取文件的类型为文本类型时,按照预设的编码规则对HTTP响应正文中的内容进行编码得到字节流。请参照图9,在本实施例中,所述方法还可以包括用于获取HTTP响应内容的步骤S108-步骤S110,其中,所述HTTP响应内容包括HTTP响应响应头及HTTP响应正文中的内容。下面结合上述步骤S108-步骤S110对获取HTTP响应内容的过程进行描述。步骤S108,生成统一资源定位器队列。步骤S109,判断所述统一资源定位器队列是否为空,在所述统一资源定位器队列不为空时,从所述统一资源定位器队列中取出任意一个统一资源定位器。步骤S110,由取出的所述统一资源定位器获取访问所述统一资源定位器对应网页的HTTP响应信息,所述HTTP响应信息包括HTTP响应头及HTTP响应正文中的内容。步骤S112,将所述HTTP响应正文中的内容对应的字节流输入根据设定的目标主题生成的筛选器中进行模式匹配。所述筛选器采用确定性有穷自动机对所述HTTP响应正文中的内容对应的字节流进行模式匹配,其中,所述模式匹配是指根据确定性有穷自动机的状态转移关系,寻找接受状态的过程。请参照图10,在本实施例中,所述方法还可以包括用于生成所述筛选器的步骤S114和步骤S115,下面结合步骤S114和步骤S115对所述筛选器的生成过程进行描述。步骤S114,对所述目标主题的关键词按照所述预设的编码规则进行编码,得到所述目标主题的关键词所对应的字节流集合。具体地,请参照图11,步骤S114可以包括子步骤S1141及子步骤S1142。子步骤S1141,对所述关键词中的每个关键字进行编码,得到每个关键字对应的字符串。子步骤S1142,由关键字对应的字符串得到关键词的字节流,由每个关键词的字节流构成所述目标主题的关键词所对应的字节流集合。步骤S115,根据所述字节流集合创建所述筛选器。具体地,创建一字典树,将所述字节流集合中的元素插入所述的字典树中,以生成所述筛选器。在本具体实施例中,所述步骤S108~S112与步骤S114~S115可以同步进行,在上述步骤同步进行时,可以将时间复杂度降低,以满足高并发、大数据量的爬虫需求。步骤S113,在匹配成功时,将所述HTTP响应正文中的内容作为与所述设定的目标主题相关的网页内容进行保存。综上所述,本发明实施例提供的内容筛选方法及装置,在获取文件的类型为文本类型时,按照预设的编码规则对HTTP响应正文中的内容进行编码得到字节流,将得到的字节流输入根据设定的目标主题生成的筛选器进行模式匹配后进行存储。相对于现有的内容筛选方法,将HTTP响应正文中的内容按照预设的编码规则进行编码,可以解决HTTP响应正文中的内容编码与筛选器中编码规则不一致导致的兼容性差,无法提升网页内容筛选速度的技术问题。同时筛选器的创建与网页内容的爬取可以并列进行,时间复杂度低,可以满足高并发、大数据量的爬虫需求。在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,也可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1