网站资源的爬取方法、装置、计算机设备和存储介质与流程

文档序号:18797243发布日期:2019-09-29 19:52阅读:181来源:国知局
网站资源的爬取方法、装置、计算机设备和存储介质与流程

本发明涉及计算机应用领域,尤其涉及一种网站资源的爬取方法、装置、计算机设备和存储介质。



背景技术:

随着互联网技术的快速发展,互联网上存在海量的数据。搜索引擎为了方便为用户提供搜索功能服务,经常需要在互联网海量的数据中搜索并分析,爬虫技术的出现有效提高了搜索效率。爬虫技术主要通过对特定的资源进行标识、爬取以及清理等措施,将有效信息进行提取。随着时代的发展,爬虫技术也将得到飞速的发展,应用到更多的应用领域,提高数据的利用率,促进社会的发展。

相关技术中,主要通过人工采用查看网页源码,进行人工配置相关的爬取规则,,如xpath、css或者正则表达式等,来标识爬取网页上的资源。但是存在的问题是,在少量数据源方面研发人员还能进行配置,而对于较大的数据需求时,进行机械的重复活动也会降低研发人员的积极性,并且这种开发方式费时费力,严重降低了研发人员的开发效率。



技术实现要素:

本发明的目的旨在至少在一定程度上解决上述的技术问题之一。

为此,本发明的第一个目的在于提出一种网站资源的爬取方法。该方法可以提高配置的灵活性、有效性和提高爬取的准确性,能够有效的节省人力成本和时间成本。

本发明的第二个目的在于提出一种网站资源的爬取装置。

本发明的第三个目的在于提出一种计算机设备。

本发明的第四个目的在于提出一种计算机可读存储介质。

为达到上述目的,本发明第一方面实施例提出的网站资源的爬取方法,包括:确定用户设计的流程图;其中,所述流程图中包括多个节点和节点间的连接关系,每个所述节点对应一个控件;基于所述流程图中的节点所对应的控件,生成针对目标网站的爬取配置规则;根据所述爬取配置规则对所述目标网站中的相应资源进行爬取,以得到对应的爬取结果信息。

根据本发明的一个实施例,所述确定用户设计的流程图,包括:提供流程设计界面,其中,所述流程设计界面具有多个可用控件;接收所述用户从所述多个可用控件中选择的控件;接收所述用户输入的针对所述选择的控件间的连接关系;根据所述用户选择的控件和所述连接关系,生成所述用户设计的流程图。

根据本发明的一个实施例,所述多个可用控件包括开始控件、选择控件、删除控件和保存控件;其中,所述开始控件,用于进行待爬取网站的url地址的输入;所述选择控件,用于粗粒度选取待爬取区域;所述删除控件,用于删除所述待爬取网站页面中的干扰因素;所述保存控件,用于细粒度的对待爬取信息的爬虫规则进行配置。

根据本发明的一个实施例,所述基于所述流程图中的节点所对应的控件,生成针对目标网站的爬取配置规则,包括:获取所述用户对所述流程图中各节点所对应的控件的配置信息;根据所述流程图中各节点所对应的控件的配置信息和节点顺序,生成针对所述目标网站的爬取配置规则。

根据本发明的一个实施例,所述获取所述用户对所述流程图中各节点所对应的控件的配置信息,包括:提供配置界面;基于所述配置界面,接收所述用户对所述流程图中各节点所对应的控件的配置信息;其中,所述流程图中的根节点所对应的控件为所述开始控件,所述流程图中的叶子节点所对应的控件为所述保存控件。

根据本发明的一个实施例,当所述流程图中的根节点与叶子节点之间存在选择控件节点时,确定所述选择控件节点的父节点所对应的第一网站资源信息;将所述第一网站资源信息提供给所述用户,以使所述用户在所述第一网站资源信息上选择待爬取区域;在所述配置界面上显示所述用户选择的所述待爬取区域所对应的标识规则,并根据所述用户选择的所述待爬取区域所对应的标识规则确定所述选择控件节点的配置信息;当所述流程图中的根节点与叶子节点之间存在删除控件节点时,确定所述删除控件节点的父节点所对应的第二网站资源信息;将所述第二网站资源信息提供给所述用户,以使所述用户在所述第二网站资源信息上选择待删除区域;在所述配置界面上显示所述用户选择的所述待删除区域所对应的标识规则,并根据所述用户选择的所述待删除区域所对应的标识规则确定所述删除控件节点的配置信息。

根据本发明的一个实施例,所述根据所述流程图中各节点所对应的控件的配置信息和节点顺序,生成针对所述目标网站的爬取配置规则,包括:确定所述流程图中的根节点和叶子节点;根据所述流程图中的根节点、叶子节点、各节点间连接关系、和所述各节点所对应的控件的配置信息,生成针对所述目标网站的爬取配置规则。

根据本发明的一个实施例,所述方法还包括:将所述爬取结果信息提供给所述用户。

根据本发明的一个实施例,所述方法还包括:将所述流程图提供给所述用户;接收所述用户针对所述流程图中节点的选择操作;确定所述用户选择的节点所对应的控件,并从所述爬取配置规则中确定出所述用户选择的节点控件所对应的配置信息;根据所述用户选择的节点控件所对应的配置信息,从所述目标网站中爬取对应内容,并将爬取到的内容提供给所述用户。

为达到上述目的,本发明第二方面实施例提出的网站资源的爬取装置,包括:流程图确定模块,用于确定用户设计的流程图;其中,所述流程图中包括多个节点和节点间的连接关系,每个所述节点对应一个控件;爬取配置规则生成模块,用于基于所述流程图中的节点所对应的控件,生成针对目标网站的爬取配置规则;爬取模块,用于根据所述爬取配置规则对所述目标网站中的相应资源进行爬取,以得到对应的爬取结果信息。

根据本发明的一个实施例,所述流程图确定模块具体用于:提供流程设计界面,其中,所述流程设计界面具有多个可用控件;接收所述用户从所述多个可用控件中选择的控件;接收所述用户输入的针对所述选择的控件间的连接关系;根据所述用户选择的控件和所述连接关系,生成所述用户设计的流程图。

根据本发明的一个实施例,所述多个可用控件包括开始控件、选择控件、删除控件和保存控件;其中,所述开始控件,用于进行待爬取网站的url地址的输入;所述选择控件,用于粗粒度选取待爬取区域;所述删除控件,用于删除所述待爬取网站页面中的干扰因素;所述保存控件,用于细粒度的对待爬取信息的爬虫规则进行配置。

根据本发明的一个实施例,所述爬取配置规则生成模块包括:获取单元,用于获取所述用户对所述流程图中各节点所对应的控件的配置信息;生成单元,用于根据所述流程图中各节点所对应的控件的配置信息和节点顺序,生成针对所述目标网站的爬取配置规则。

根据本发明的一个实施例,所述获取单元具体用于:提供配置界面;基于所述配置界面,接收所述用户对所述流程图中各节点所对应的控件的配置信息;其中,所述流程图中的根节点所对应的控件为所述开始控件,所述流程图中的叶子节点所对应的控件为所述保存控件。

根据本发明的一个实施例,所述生成单元具体用于:确定所述流程图中的根节点和叶子节点;根据所述流程图中的根节点、叶子节点、各节点间连接关系、和所述各节点所对应的控件的配置信息,生成针对所述目标网站的爬取配置规则。

根据本发明的一个实施例,所述装置还包括:预览模块,用于将所述爬取结果信息提供给所述用户。

根据本发明的一个实施例,所述装置还包括:流程图提供模块,用于将所述流程图提供给所述用户;解析模块,用于接收所述用户针对所述流程图中节点的选择操作,并确定所述用户选择的节点所对应的控件,并从所述爬取配置规则中确定出所述用户选择的节点控件所对应的配置信息;其中,所述爬取模块,还用于根据所述用户选择的节点控件所对应的配置信息,从所述目标网站中爬取对应内容,并将爬取到的内容提供给所述用户。

为达到上述目的,本发明第三方面实施例提出的计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上执行的计算机程序,所述处理器执行所述计算机程序时实现本发明第一方面实施例所述的网站资源的爬取方法。

为达到上述目的,本发明第四方面实施例提出的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明第一方面实施例所述的网站资源的爬取方法。

根据本发明实施例的网站资源的爬取方法、装置、计算机设备和存储介质,可确定用户设计的流程图;其中,流程图中包括多个节点和节点间的连接关系,每个节点对应一个控件,并基于流程图中的节点所对应的控件,生成针对目标网站的爬取配置规则,根据爬取配置规则对目标网站中的相应资源进行爬取,以得到对应的爬取结果信息。由此,可以使得用户根据自身需求设计对应流程图,基于流程图将配置爬虫规则的过程流程化,提高了配置的灵活性和有效性,在保证准确性的前提下,能够有效的节省人力成本和时间成本。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本发明一个实施例的网站资源的爬取方法的流程示意图;

图2是根据本发明实施例的流程设计界面的示例图;

图3是根据本发明实施例的网站资源的爬取方法的流程示意图;

图4是根据本发明另一个实施例的网站资源的爬取方法的流程示意图;

图5是根据本发明另一个实施例的网站资源的爬取方法的流程示意图;

图6-图7是根据本发明一个实施例的网站资源的爬取方法的示例图;

图8-图10是根据本发明另一个实施例的网站资源的爬取方法的示例图;

图11是根据本发明一个实施例的网站资源的爬取装置的结构示意图;

图12是根据本发明一个具体实施例的网站资源的爬取装置的结构示意图;

图13是根据本发明另一个具体实施例的网站资源的爬取装置的结构示意图;

图14是根据本发明又一个具体实施例的网站资源的爬取装置的结构示意图;

图15是根据本发明一个实施例的计算机设备的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的网站资源的爬取方法、装置、计算机设备和计算机可读存储介质。

图1是根据本发明一个实施例的网站资源的爬取方法的流程图。需要说明的是,本发明实施例的网站资源的爬取方法可应用于本发明实施例的网站资源的爬取装置。该爬取装置可被配置于计算机设备上。

如图1所示,该网站资源的爬取方法可以包括:

步骤110,确定用户设计的流程图;其中,流程图中包括多个节点和节点间的连接关系,每个节点对应一个控件。

需要说明的是,上述流程图是用户可以根据自己需求预先设计。作为一种示例,可向用户提供流程设计界面,其中,该流程设计界面具有多个可用控件;基于该流程设计界面可接收用户从该多个可用控件中选择的控件,并接收该用户输入的针对该选择的控件间的连接关系,根据该用户选择的控件和该连接关系,生成所述用户设计的流程图。

举例而言,如图2所示,可向用户提供流程设计界面,其中,该流程设计界面中可具有多个可用控件,用户可根据自己所要爬取资源需求在该流程设计界面上进行针对待爬取网站资源的流程图设计。例如,可通过该流程设计界面来接收用户从该多个可用控件中选择的控件,并接收该用户输入的针对该选择的控件间的连接关系,进而可根据该用户选择的控件和该连接关系生成所述用户设计的流程图。

作为一种示例,所述多个可用控件可包括但不限于开始控件、选择控件、删除控件和保存控件等。其中,开始控件的功能主要是进行待爬取网站的url地址的输入;选择控件的功能主要是粗粒度选取待爬取区域的一部分,以去除其他区域对待爬取信息的干扰,或者先粗粒度的细化待爬取区域,以便后面更加准确的选取;删除控件的功能主要是删除待爬取网站页面中的干扰因素,以便提高爬取功率;保存控件的功能主要是细粒度的对待爬取信息进行选择,以进行待爬取信息的爬虫规则的配置。

也就是说,选择控件是粗粒度选取待爬取区域的一部分,以去除其他区域对待爬取信息的干扰,而保存控件与选择控件类似,是细粒度的进行待爬取信息的配置。举例而言,爬取一个新闻页面,页面中有导航栏,新闻内容,评论等等内容,要爬取标题和正文,在用户设计流程图时,可以用选择控件先将新闻内容选出来,去掉导航栏等影响因素,然后在此基础上,利用保存控件进行标题和正文的配置。

步骤120,基于流程图中的节点所对应的控件,生成针对目标网站的爬取配置规则。

可选地,通过用户对流程图中各节点所对应的控件进行爬取规则的配置,之后,可依据流程图中各节点所对应控件的配置信息和流程图中各节点间的连接关系,生成针对目标网站的爬取配置规则。作为一种示例,如图3所示,所述基于流程图中的节点所对应的控件,生成针对目标网站的爬取配置规则的具体实现过程可包括以下步骤:

步骤121,获取用户对该流程图中各节点所对应的控件的配置信息。

可选地,提供配置界面,基于该配置界面,接收该用户对流程图中各节点所对应的控件的配置信息,从而可以获得该用户对流程图中各节点所对应的控件的配置信息。其中,在本发明的实施例中,流程图中的根节点所对应的控件为用户所选择的开始控件,流程图中的叶子节点所对应的控件为用户所选择的保存控件。

举例而言,如图2所示,可向用户提供配置界面,当用户点击(如双击)如图2所示的流程设计界面中用户所设计的流程图中的某个节点控件时,可在配置界面提供针对该节点控件的配置规则的操作区域,用户可通过自身需求在该操作区域对该节点控件进行配置规则的增加、展示和修改等,从而通过该配置界面即可获得用户对该节点控件的配置信息。例如,当用户双击该流程图中的根节点所对应的控件(即开始控件)时,用户可将待爬取网站的url地址输入至该配置界面的操作区域并进行保存,以完成对该开始控件节点的配置信息的配置。

又如,当该流程图中的根节点与叶子节点之间存在选择控件节点时,确定该选择控件节点的父节点所对应的第一网站资源信息,并将该第一网站资源信息提供给该用户,以使该用户利用鼠标点选的方式在该第一网站资源信息上组粒度的选择待爬取区域;在该配置界面上显示该用户选择的该待爬取区域所对应的标识规则,此时用户可对该标识规则进行相应的确认与修改,并将该用户选择的该待爬取区域所对应的标识规则确定为该选择控件节点的配置信息。

举例而言,如图6所示,以爬取某网站a的“涨幅榜信息”和“24小时成交额”信息为例:第一步,用户可双击流程图中根节点所对应的控件(即开始控件),并在该配置界面中的操作区域输入该网站a的url地址并保存,以完成对该开始控件节点的配置信息的配置;第二步,用户双击流程图中的根节点与叶子节点之间选择控件节点,例如,用户先双击如图6所示左边的选择控件节点以实现该“涨幅榜”信息所在爬取区域的选取,即此时可先确定该选择控件节点的父节点(即开始控件节点)所对应的第一网站资源信息(即网站a的资源信息),并将该第一网站资源信息提供给该用户。如图6所示,可将该第一网站资源信息在预览模块进行展示以方便用户查看和操作,比如,用户选中该选择控件节点时,用户可利用鼠标点选的方式在该第一网站资源信息上粗粒度的选取待爬取区域,其中,预览模块中所展示的网页页面内容可随着用户的鼠标点选而进行高亮显示。在该配置界面上可显示该用户选取的该待爬取区域所对应的标识规则(如xpath规则、css规则等),并将该用户选取的该待爬取区域所对应的标识规则确定为该选择控件节点的配置信息,此时预览模块中展示用户通过选择控件节点所选取的待爬取区域,此时用户可点击与该选择控件节点所对应的叶子节点(即保存控件节点),并利用鼠标点选的方式在所述所选取的待爬取区域上进行细粒度的选取,并将选取的内容作为待爬取信息,在配置界面上显示用户此时选取的待爬取信息所对应的标识规则,进而将该选取的待爬取信息所对应的标识规则确定为该保存控件节点的配置信息。又如,用户双击如图6所示右边的选择控件节点和与其连接的保存控件节点,以实现“24小时成交额”信息的爬取规则的配置,该配置过程与上述左边的选择控件节点的配置类似,在此不再赘述。

再如,当该流程图中的根节点与叶子节点之间存在删除控件节点时,确定该删除控件节点的父节点所对应的第二网站资源信息,并将该第二网站资源信息提供给该用户,以使该用户利用鼠标点选的方式在该第二网站资源信息上选择待删除区域;在该配置界面上显示该用户选择的该待删除区域所对应的标识规则,并将该用户选择的该待删除区域所对应的标识规则确定为该删除控件节点的配置信息。

举例而言,如图8所示,以爬取某网站b的正文信息为例,由于该网站b中存在大量图片等干扰因素,若想爬取正文,用户在设计流程图时若在流程图中使用选择控件实现通过直接选择正文的段落的方式来爬取正文,则图片位置的干扰文字会影响整篇文章的准确性,若使用选择控件通过一段段正文的选取方式来配置爬取规则,则费时费力,且生成的配置规则不适用于其他同样文章,因为文章的段落一般不同,相同类型的例如广告,文章,视频等都会影响待爬取元素的准确性。因此,用户在设计流程图时使用了删除控件,通过该删除控件实现网页中干扰因素的删除配置。例如,用户设计了如图8所示的流程图,用户对该流程图中的各节点控件进行配置信息的配置时,第一步,用户可双击流程图中根节点所对应的控件(即开始控件),并在该配置界面中的操作区域输入该网站b的url地址并保存,以完成对该开始控件节点的配置信息的配置;第二步,用户双击流程图中的删除控件节点,此时可确定该删除控件节点的父节点所对应的第二网站资源信息(即网站b的资源信息),并将该第二网站资源信息提供给该用户,如图8所示,可将该第二网站资源信息在预览模块进行展示以方便用户查看和操作,比如,用户选中该删除控件节点时,用户可利用鼠标点选的方式在该第二网站资源信息上选取待删除的图片等干扰因素,其中,预览模块中所展示的网页页面内容可随着用户的鼠标点选而进行高亮显示。在该配置界面上显示该用户选取的该待删除的图片等所对应的标识规则(如xpath规则、css规则等),并将该用户选择的待删除的图片等所对应的标识规则确定为该删除控件节点的配置信息;第三步,双击删除控件节点所对应的叶子节点(即保存控件节点),用户可利用鼠标点选的方式在上述开始控件节点以及删除控件节点的配置信息基础上,对待爬取的正文内容进行选择,然后将该用户此时选取的待爬取信息所对应的标识规则确定为该保存控件节点的配置信息。

需要说明的是,在本发明的实施例中,流程图中控件间的连接关系可通过有向连接线来表示。流程图中的每一条连接线都是表示进行数据的传递。例如将选择控件添加到开始控件的后方,将保存控件添加到选择控件的后方,选择控件的输入值即原始网页的数据,它的输出值就是利用选择控件进行特定区域的选取之后的数据。然后可以在此基础上进行选取,方便去取其他干扰因素的干扰。由此,通过点选的方式进行选择以生成爬虫的配置规则,可以避免查看源码,可以提高研发效率。

步骤122,根据该流程图中各节点所对应的控件的配置信息和节点顺序,生成针对所述目标网站的爬取配置规则。

可选地,采用遍历方式遍历该流程图中的各个节点,确定该流程图中根节点与叶子节点之间的至少一个路径,并将每个路径上的节点所对应的控件的配置信息进行组合以生成该每个路径的配置规则,将每个路径的配置规则确定为针对所述目标网站的爬取配置规则。例如,如图6所示的流程图为例,可根据该流程图中各节点所对应的控件的配置信息和该节点顺序,确定出该流程图中根节点与叶子节点之间的存在两个路径,将这两个路径上的节点所对应的控件的配置信息进行组合以生成该两个路径的配置规则,进而得到针对所述目标网站的爬取配置规则。

步骤130,根据爬取配置规则对目标网站中的相应资源进行爬取,以得到对应的爬取结果信息。

根据本发明实施例的网站资源的爬取方法,可确定用户设计的流程图;其中,流程图中包括多个节点和节点间的连接关系,每个节点对应一个控件,并基于流程图中的节点所对应的控件,生成针对目标网站的爬取配置规则,根据爬取配置规则对目标网站中的相应资源进行爬取,以得到对应的爬取结果信息。该方法可以使得用户根据自身需求设计对应流程图,基于流程图将配置爬虫规则的过程流程化,提高了配置的灵活性和有效性,在保证准确性的前提下,能够有效的节省人力成本和时间成本。

为了进一步提升用户体验,方便用户预览图片、视频、文本等爬取结果,可选地,在本发明的一个实施例中,如图4所示,在如图1所示的基础上,该网站资源的爬取方法还可包括:

步骤410,将爬取结果信息提供给用户。

可选地,在根据爬取配置规则对目标网站中的相应资源进行爬取,以得到对应的爬取结果信息之后,可将该爬取结果信息提供给用户。例如,可在用户的客户端上提供预览模块,在该预览模块上展示该爬取结果信息。

为了进一步提升用户体验,方便用户对爬取过程的预览,方便定位问题,可选地,在本发明的一个实施例中,如图5所示,该网站资源的爬取方法还可包括:

步骤510,将流程图提供给用户。

例如,在用户对自身设计的流程图中各节点所对应的配置规则的配置过程中,可将该流程图在流程设计界面上进行展示,以将该流程图提供给用户,以便用户根据该流程图中的各节点以选择查看某个节点所对应的爬取结果。

步骤520,接收用户针对流程图中节点的选择操作。

步骤530,确定用户选择的节点所对应的控件,并从爬取配置规则中确定出用户选择的节点控件所对应的配置信息。

例如,以如图6所示的流程图为例,假设确定出用户选择了流程图左边的保存控件节点时,可从爬取配置规则中确定出该节点控件所对应的配置信息为“涨幅榜”信息的配置规则。又如,如图6所示的流程图为例,假设确定出用户选择了流程图中根节点(即开始控件节点)时,可从爬取配置规则中确定出该节点控件所对应的配置信息为网站a的url地址。

步骤540,根据用户选择的节点控件所对应的配置信息,从目标网站中爬取对应内容,并将爬取到的内容提供给用户。

例如,如图6所示的流程图为例,假设确定出用户选择了流程图中根节点(即开始控件节点)时,可从爬取配置规则中确定出该节点控件所对应的配置信息为网站a的url地址,并根据该url地址爬取到该网站a页面资源,并将该网站a页面资源通过预览模块展现给用户。又如,以如图7所示的流程图为例,假设确定出用户选择了流程图左边的保存控件节点时,可从爬取配置规则中确定出该节点控件所对应的配置信息为“涨幅榜”信息的配置规则,根据该配置规则可从网站a中爬取到“涨幅榜”信息,并将“涨幅榜”信息通过预览模块展现给用户。

由此,基于用户对流程图中各节点控件的选择,可将用户选择的节点控件所对应的爬取内容提供给用户,即用户可以看到流程图中各节点控件的输出值,支持爬取过程的预览,方便定位问题,并利于配置准确的爬取规则。

为了方便本领域技术人员能够更加清楚地了解本发明,下面将举例说明。

举例而言,如图6-图7所示,以爬取某网站a的涨幅榜信息、24小时成交额信息为例:在确定用户设计的流程图之后,可基于用户对流程图中各节点控件所对应的爬虫规则进行配置。例如,第一步:用户可对流程图中根节点(即开始控件节点)进行配置,如在配置界面中的操作区域输入网站a的url地址,以配置该开始控件节点的爬虫规则,以使后台服务端根据该url地址发起网络请求;第二步,分别对流程图中左右两边的选择控件节点进行爬虫规则的配置:首先对左边选择控件节点和其连接的保存控件节点进行配置,即将该选择控件节点的父节点(即开始控件节点)的网站资源信息(即网站a的页面资源)展现在预览模块,用户通过鼠标点选的方式在预览模块中选择“涨幅榜”,在配置界面中展示该“涨幅榜”对应的配置规则(如该“涨幅榜”所对应的xpath规则);之后对右边选择控件节点和其连接的保存控件节点进行配置,即将该选择控件节点的父节点(即开始控件节点)的网站资源信息(即网站a的页面资源)展现在预览模块,用户通过鼠标点选的方式在预览模块中选择“24小时成交额信息”,在配置界面中展示该“24小时成交额信息”对应的配置规则(如该“24小时成交额信息”所对应的xpath规则)。图6-图7所示的流程图中的节点所对应的控件的配置规则,生成针对该网站a的爬取配置规则,进而根据该爬取配置规则对网站a中的“涨幅榜”和“24小时成交额信息”资源信息爬取,得到对应的爬取结果信息。

又如,如图8-图10所示,以爬取某网站b的文章数据为例:在确定用户设计的流程图之后,可基于用户对流程图中各节点控件所对应的爬虫规则进行配置。例如,第一步:用户可对流程图中根节点(即开始控件节点)进行配置,如在配置界面中的操作区域输入网站b的url地址,以配置该开始控件节点的爬虫规则,以使后台服务端根据该url地址发起网络请求,获取相应的html元素并在预览模块进行展示,可以看出该网站文章中含有图片等干扰因素,若想爬取正文,若通过直接选择正文的段落,则图片位置的干扰文字会影响整片文章的准确性,若通过一段段正文的选取则费时费力,且生成的规则不适用于其他同样文章,因为文章的段落一般不同,相同类型的例如广告,文章,视频等都会影响待爬取元素的准确性。针对上面的选取情况,在第二步中,可以利用流程图中的删除控件节点配置待删除的图片等干扰元素的配置规则,即用户可利用鼠标点选的方式配置该删除图片等干扰元素的爬虫规则(如该“待删除图片”所对应的xpath规则),并利用鼠标点选的方式在上述开始控件节点以及删除控件节点的爬虫规则基础上,对待爬取的正文内容进行选择,然后将该用户此时选取的待爬取信息所对应的标识规则确定为该保存控件节点的配置规则。基于图8-图10所示的流程图中的节点所对应控件的配置规则,生成针对网站b的爬取配置规则,进而根据该爬取配置规则将该网站b中的图片进行删除,以爬取到该网站b中文章信息的正文,从而得到对应的爬取结果信息。

需要说明的是,在本发明的实施例中,整个流程图是一种配置规则,对于同一个需求,可以使用不同的流程图达到相同的目的,不同的组合生成的配置规则不同,可以自由设计定义,上述给出的示例仅是为了方便本领域技术人员的理解而给出的示例,并不能作为本发明的具体限定。

还需要说明的是,在对流程图中的各节点所对应的选择控件、删除控件以及保存控件都是可扩展的,上述给出的示例中都是xpath选择控件,还可以扩展css选择控件,删除控件也分为xpath删除控件和css保存控件等。也就是说,整个流程图是用户自由生成的,除了开始通过开始控件,后面可以自由由用户添加选择控件,删除控件,保存控件,在选择控件,删除控件后面也可以继续添加控件,除了保存控件后面不可继续添加之外,可以不止添加一个,可以添加多个。

可以理解,上述6-图7、图8-图10所示,该客户端可为用户提供预览模块、流程设计界面、解析模块和配置界面。其中,预览模块主要是进行网页页面的展示以及配置规则的高亮显示等;流程设计界面主要是将配置规则的过程流程化,解析模块的功能主要是将选择出的xpath规则进行展示与预览,以方便后续的修改与调整;配置界面主要是对不同的配置规则的增加、展示、修改等功能。

与上述几种实施例提供的网站资源的爬取方法相对应,本发明的一种实施例还提供一种网站资源的爬取装置,由于本发明实施例提供的网站资源的爬取装置与上述几种实施例提供的网站资源的爬取方法相对应,因此在前述网站资源的爬取方法的实施方式也适用于本实施例提供的网站资源的爬取装置,在本实施例中不再详细描述。图11是根据本发明一个实施例的网站资源的爬取装置的结构示意图。如图11所示,该网站资源的爬取装置800可以包括:流程图确定模块810、爬取配置规则生成模块820和爬取模块830。

具体地,流程图确定模块810用于确定用户设计的流程图;其中,流程图中包括多个节点和节点间的连接关系,每个节点对应一个控件。作为一种示例,流程图确定模块810提供流程设计界面,其中,流程设计界面具有多个可用控件,并接收用户从多个可用控件中选择的控件,接收用户输入的针对选择的控件间的连接关系,并根据用户选择的控件和连接关系,生成用户设计的流程图。

在本发明的一个实施例中,多个可用控件包括开始控件、选择控件、删除控件和保存控件;其中,开始控件,用于进行待爬取网站的url地址的输入;选择控件,用于选择待爬取区域;删除控件,用于删除待爬取网站页面中的干扰因素;保存控件,用于细粒度的对待爬取信息的爬虫规则进行配置。

爬取配置规则生成模块820用于基于流程图中的节点所对应的控件,生成针对目标网站的爬取配置规则。作为一种示例,如图12所示,爬取配置规则生成模块820可包括:获取单元821和生成单元822。其中,获取单元821用于获取所述用户对所述流程图中各节点所对应的控件的配置信息;生成单元822用于根据所述流程图中各节点所对应的控件的配置信息和节点顺序,生成针对所述目标网站的爬取配置规则。

在本发明的一个实施例中,获取单元821可提供配置界面,基于所述配置界面,接收所述用户对所述流程图中各节点所对应的控件的配置信息;其中,所述流程图中的根节点所对应的控件为所述开始控件,所述流程图中的叶子节点所对应的控件为所述保存控件。

在本发明的一个实施例中,生成单元822根据流程图中各节点所对应的控件的配置信息和流程图,生成针对目标网站的爬取配置规则的具体实现过程可如下:确定所述流程图中的根节点,并确定所述流程图中的叶子节点,并根据所述流程图中的根节点、叶子节点、各节点间连接关系、和所述各节点所对应的控件的配置信息,生成针对所述目标网站的爬取配置规则。

爬取模块830用于根据爬取配置规则对目标网站中的相应资源进行爬取,以得到对应的爬取结果信息。

为了进一步提升用户体验,方便用户预览图片、视频、文本等爬取结果,可选地,在本发明的一个实施例中,如图13所示,该网站资源的爬取装置800还可包括:预览模块840。其中,预览模块840用于将所述爬取结果信息提供给所述用户。

为了进一步提升用户体验,方便用户对爬取过程的预览,方便定位问题,可选地,在本发明的一个实施例中,如图14所示,该网站资源的爬取装置800还可包括:流程图提供模块850和解析模块860。其中,流程图提供模块850用于将流程图提供给用户;解析模块860用于接收用户针对流程图中节点的选择操作,并确定用户选择的节点所对应的控件,并从爬取配置规则中确定出用户选择的节点控件所对应的配置信息;其中,爬取模块830还用于根据用户选择的节点控件所对应的配置信息,从目标网站中爬取对应内容,并将爬取到的内容提供给用户。

根据本发明实施例的网站资源的爬取装置,可确定用户设计的流程图;其中,流程图中包括多个节点和节点间的连接关系,每个节点对应一个控件,并基于流程图中的节点所对应的控件,生成针对目标网站的爬取配置规则,根据爬取配置规则对目标网站中的相应资源进行爬取,以得到对应的爬取结果信息。由此,可以使得用户根据自身需求设计对应流程图,基于流程图将配置爬虫规则的过程流程化,提高了配置的灵活性和有效性,在保证准确性的前提下,能够有效的节省人力成本和时间成本。

为了实现上述实施例,本发明还提出了一种计算机设备。

图15是根据本发明一个实施例的计算机设备的结构示意图。如图15所示,该计算机设备1200可以包括:存储器1210、处理器1220及存储在存储器1210上并可在处理器1220上执行的计算机程序1230,处理器1220执行计算机程序1230程序时实现本发明上述任一个实施例所述的网站资源的爬取方法。

为了实现上述实施例,本发明还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明上述任一个实施例所述的网站资源的爬取方法。

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

流程示意图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程示意图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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