发明内容
针对现有技术中的缺陷,本发明提供一种基于新闻客户端的数据采集方法及装置,能够对不同的新闻客户端进行数据的通用性的采集,同时对新闻客户端的不同频道进行新闻数据的通用采集,避免了对某个新闻客户端的单独采集,同时提高了采集的效率。
第一方面,本发明提供了一种基于新闻客户端的数据采集方法,包括:
在用户访问移动终端上的新闻客户端时,获取当前新闻客户端的新闻链接地址;
根据所述新闻链接地址,确定所述新闻客户端中当前频道的页面的数据结构;
根据所述数据结构,查找与所述数据结构相匹配的数据采集模板;
采用所述数据采集模板,对所述当前新闻客户端显示频道中的新闻数据进行采集,将所述采集到的新闻数据存储到数据库中。
进一步地,所述获取当前新闻客户端的新闻链接地址,包括:
获取所述新闻客户端发送给互联网服务器的请求,所述请求中携带所述新闻链接地址;
根据所述请求,确定所述新闻链接地址。
进一步地,所述在对所述当前新闻客户端显示频道中的新闻数据进行采集的步骤之前,所述方法还包括:
若查找不到与所述数据结构相匹配的数据采集模板;
根据所述数据结构,建立与所述数据结构相匹配的数据采集模板。
进一步地,所述根据所述数据结构,建立与所述数据结构相匹配的数据采集模板,包括:
根据所述数据结构的字段信息,在预设的框架中配置各字段的位置信息,得到与所述数据结构相匹配的数据采集模板;
其中,所述数据采集模板包括:含有标题字段、头图类型字段、头图标记字段、列表数据类型的列表区域;
含有新闻内容字段、数据结构类型字段、来源字段的详情区域;
含有评论数据类型字段、评论人字段、评论内容字段的评论区域。
进一步地,所述数据结构的类型包括Json格式、Xml格式和Html格式。
第二方面,本发明提供了一种基于新闻客户端的数据采集装置,包括:
获取单元,用于在用户访问移动终端上的新闻客户端时,获取当前新闻客户端的新闻链接地址;
确定单元,用于根据所述新闻链接地址,确定所述新闻客户端中当前频道的页面的数据结构;
查找单元,用于根据所述数据结构,查找与所述数据结构相匹配的数据采集模板;
采集单元,用于采用所述数据采集模板,对所述当前新闻客户端显示频道中的新闻数据进行采集,将所述采集到的新闻数据存储到数据库中。
进一步地,所述获取单元,还用于获取所述新闻客户端发送给互联网服务器的请求,所述请求中携带所述新闻链接地址;
所述获取单元,还用于根据所述请求,确定所述新闻链接地址。
进一步地,在所述查找单元与所述采集单元之间,所述装置还包括创建单元;
所述创建单元,用于若查找不到与所述数据结构相匹配的数据采集模板;
所述创建单元,用于根据所述数据结构,建立与所述数据结构相匹配的数据采集模板。
进一步地,所述创建单元,还用于根据所述数据结构的字段信息,在预设的框架中配置各字段的位置信息,得到与所述数据结构相匹配的数据采集模板;
其中,所述数据采集模板包括:含有标题字段、头图类型字段、头图标记字段、列表数据类型的列表区域;
含有新闻内容字段、数据结构类型字段、来源字段的详情区域;
含有评论数据类型字段、评论人字段、评论内容字段的评论区域。
进一步地,其特征在于,所述数据结构的类型包括Json格式、Xml格式和Html格式。
由上述技术方案可知,通过本发明提供的基于新闻客户端的数据采集方法及装置,其中采集方法包括:在用户访问移动终端上的新闻客户端时,获取当前新闻客户端的新闻链接地址;根据所述新闻链接地址,确定所述新闻客户端中当前频道的页面的数据结构;根据所述数据结构,查找与所述数据结构相匹配的数据采集模板;采用所述数据采集模板,对所述当前新闻客户端显示频道中的新闻数据进行采集,将所述采集到的新闻数据存储到数据库中。通过本发明提供的基于新闻客户端的数据采集方法及装置,能够对不同的新闻客户端进行数据的通用性的采集,同时对新闻客户端的不同频道进行新闻数据的通用采集,避免了对某个新闻客户端的单独采集,同时提高了采集的效率。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他的实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种基于新闻客户端的数据采集方法的流程示意图,如图1所示,本实施例的基于新闻客户端的数据采集方法如下所述。
101、在用户访问移动终端上的新闻客户端时,获取当前新闻客户端的新闻链接地址。
应理解的是,新闻客户端用于给用户提供及时的新闻、社会热点信息和社会各阶层对事件的评述。新闻客户端与互联网的服务器相连接,服务器中存储着各式各样的新闻。
在用户访问移动终端上的新闻客户端时,获取当前新闻客户端的新闻链接地址。
获取新闻客户端的新闻链接地址,比如说,获取网易新闻客户端的某个新闻频道中的头条新闻的链接地址。
102、根据所述新闻链接地址,确定所述新闻客户端中当前频道的页面的数据结构。
应理解的是,获得新闻链接地址,可以查看到请求的数据结果,进而确定新闻客户端中当前频道的页面的数据结构。
举例来说,对于同一个新闻客户端而言,数据类型有可能为单一的类型,也可能为多类型混合,但是数据结构的类型主要是Json、Xml、Html这三种类型。如果数据类型为Json或者Xml格式,可以点击Fiddler工具的Json或者Xml的选项卡查看数据的类型。
103、根据所述数据结构,查找与所述数据结构相匹配的数据采集模板。
应理解的是,根据新闻客户端中当前频道的页面的数据结构,查找与当前的数据结构相匹配的数据采集模板。
还可以理解的是,数据采集模板与当前的数据结构的类型相匹配。
104、采用所述数据采集模板,对所述当前新闻客户端显示频道中的新闻数据进行采集,将所述采集到的新闻数据存储到数据库中。
应理解的是,根据查找到的与数据结构相匹配的数据采集模板,对当前新闻客户端显示频道中的新闻数据进行此埃及,将采集到的新闻数据存储到数据库中。
还可以理解的是,根据查找到的数据采集模板,采集当前新闻客户端的新闻数据,可以是财经频道的数据,体育频道的数据,这里并不做出具体的限定,将采集到的数据存储到数据库中。
通过本实施例提供的基于新闻客户端的数据采集方法,能够对不同的新闻客户端进行数据的通用性的采集,同时对新闻客户端的不同频道进行新闻数据的通用采集,避免了对某个新闻客户端的单独采集,同时提高了采集的效率。
图2为本发明实施例提供的一种基于新闻客户端的数据采集方法的流程示意图,如图2所示,本实施例的基于新闻客户端的数据采集方法如下所述。
当然,在实际应用中,上述方法可在任一终端中使用,在使用之前,需要对移动终端的进行配置,如图4所示的手机终端代理配置示意图,对移动终端进行访问代理设置,代理服务器的端口为8888。
201、获取所述新闻客户端发送给互联网服务器的请求,所述请求中携带所述新闻链接地址。
应理解的是,获取新闻客户端向互联网服务器发送的请求,请求中携带新闻链接地址。
举例来说,如图3所示的转包工具的配置示意图,可在抓包工具上获新闻客户端请求链接及请求数据,通过图中数据格式可以看到数据位Json格式。
202、根据所述请求,确定所述新闻链接地址。
应理解的是,根据获取的请求,确定请求里面的新闻链接地址。
203、根据所述新闻链接地址,确定所述新闻客户端中当前频道的页面的数据结构。
应理解的是,根据新闻链接地址,确定新闻客户端中当前频道的页面的数据结构。
举例来说,对于同一个新闻客户端而言,数据类型有可能为单一的类型,也可能为多类型混合,但是数据结构的类型主要是Json、Xml、Html这三种类型。如果数据类型为Json或者Xml格式,可以点击Fiddler工具的Json或者Xml的选项卡查看数据的类型。
数据结构的类型包括Json格式、Xml格式和Html格式。
204、若查找不到与所述数据结构相匹配的数据采集模板,根据所述数据结构,建立与所述数据结构相匹配的数据采集模板。
应理解的是,若查找不到与数据结构相匹配的数据采集模板,根据数据结构,建立与数据结构相匹配的数据采集模板。
根据数据结构,建立与数据结构相匹配的数据采集模板,包括:
根据数据结构的字段信息,在预设的框架中配置各字段的位置信息,得到与数据结构相匹配的数据采集模板。
数据采集模板包括:含有标题字段、头图类型字段、头图标记字段、列表数据类型的列表区域。
含有新闻内容字段、数据结构类型字段、来源字段的详情区域。
含有评论数据类型字段、评论人字段、评论内容字段的评论区域。
举例来说,新闻客户端数据结构及采集数据呈现基础上,基本上可以分为三大部分:列表区域、详情区域、评论区域。列表区域包含新闻头条图类型、列表数据结构类型、列表区域、头图标记、标题、摘要、时间、链接、图片地址、列表数据类型、列表下一页等。详情区域包含数据结构类型、内容区域、标题、时间、链接、作者、来源等。评论区域包含评论数据类型、评论下一页、评论人、评论时间、评论内容、评论地域、评论点赞数等
举例来说,图5为本发明实施例提供的一种抓包工具获取的新浪新闻客户端请求链接及数据示意图,图6为本发明实施例提供的一种对请求数据分析的示意图,如图5和图6所示,对请求内容进行分析为了更好的对Json数据进行分析,可将数据内容在json.parser.online.fr贴入查看。对比手机客户端新浪新闻头条频道列表,可知列表展示内容对应就是对应data节点对象下的list的数据集合;单条数据中标题对应title,来源对应source,图片地址对应pic,摘要对应infro等。
举例来说,新浪新闻客户端在模板表中对列表区域配置为{"jsons":[{"key":"null","type":"obj","child":{"key":"data","type":"obj","child":{"key":"list","type":"array"}}}]},其中title对应客户端列表记录的标题,配置为{"jsons":[{"key":"title","type":"string"}]},其他字段均按照此规则进行配置。在此基础过程上完成所有部分的模板配置。
205、采用所述数据采集模板,对所述当前新闻客户端显示频道中的新闻数据进行采集,将所述采集到的新闻数据存储到数据库中。
应理解的是,采用所述数据采集模板,对当前新闻客户端显示频道中的新闻数据进行采集,将采集到的新闻数据存储到数据库中。
举例来说,采集当前新闻客户端的新闻数据,可以是财经频道的数据,体育频道的数据,这里并不做出具体的限定,将采集到的数据存储到数据库中。
举例来说,启动后台Java程序,依据网站获取网站的配置模板,对站点多个频道依据模板对数据进行解析入库,完成对该客户端的头条频道的数据采集。
手机请求新浪客户端社会频道,经过对数据的分析,发现该频道数据结构与头条频道一致,增配社会频道后,运行后台代码,数据就可采集入库。
通过本实施例提供的基于新闻客户端的数据采集方法,能够对不同的新闻客户端进行数据的通用性的采集,同时对新闻客户端的不同频道进行新闻数据的通用采集,避免了对某个新闻客户端的单独采集,同时提高了采集的效率。
图7为本发明实施例提供的一种基于新闻客户端的数据采集装置的结构示意图,如图7所示,本实施例的基于新闻客户端的数据采集装置如下所述。
一种基于新闻客户端的数据采集装置,包括:获取单元71,确定单元72,查找单元73和采集单元74。
获取单元71,用于在用户访问移动终端上的新闻客户端时,获取当前新闻客户端的新闻链接地址。
确定单元72,用于根据所述新闻链接地址,确定所述新闻客户端中当前频道的页面的数据结构。
查找单元73,用于根据所述数据结构,查找与所述数据结构相匹配的数据采集模板。
采集单元74,用于采用所述数据采集模板,对所述当前新闻客户端显示频道中的新闻数据进行采集,将所述采集到的新闻数据存储到数据库中。
获取单元71,还用于获取所述新闻客户端发送给互联网服务器的请求,所述请求中携带所述新闻链接地址。
获取单元71,还用于根据所述请求,确定所述新闻链接地址。
在查找单元73与采集单元74之间,装置还包括创建单元75。
创建单元75,用于若查找不到与所述数据结构相匹配的数据采集模板。
创建单元75,用于根据所述数据结构,建立与所述数据结构相匹配的数据采集模板。
创建单元75,还用于根据所述数据结构的字段信息,在预设的框架中配置各字段的位置信息,得到与所述数据结构相匹配的数据采集模板。
应理解的是,数据采集模板包括:含有标题字段、头图类型字段、头图标记字段、列表数据类型的列表区域,含有新闻内容字段、数据结构类型字段、来源字段的详情区域,含有评论数据类型字段、评论人字段、评论内容字段的评论区域。
应理解的是,数据结构的类型包括Json格式、Xml格式和Html格式。
通过本实施例提供的基于新闻客户端的数据采集装置,能够对不同的新闻客户端进行数据的通用性的采集,同时对新闻客户端的不同频道进行新闻数据的通用采集,避免了对某个新闻客户端的单独采集,同时提高了采集的效率。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或者部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
以上所述,仅为本发明的具体实施方式,但是,本发明的保护范围不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替代,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。