一种基于PHP自定义规则进行数据采集的方法及其系统与流程

文档序号:17763222发布日期:2019-05-24 21:53阅读:724来源:国知局
一种基于PHP自定义规则进行数据采集的方法及其系统与流程

本发明涉及网络爬虫技术领域,具体涉及一种基于php自定义规则进行数据采集的方法及其系统。



背景技术:

网络爬虫(又被称为网页蜘蛛,网络机器人,在foaf社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本;另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

传统的数据采集方法通常需要安装第三方客户端,采集过程复杂,采集方法使用困难;采集图片时不能采集其tag,即使采集了,也易造成程序处理入库不方便的问题。



技术实现要素:

基于此,针对上述问题,有必要提出一种降低了采集规则难度与学习使用成本,能够在数分钟内完成一个特定网站类型的数据采集的基于php自定义规则进行数据采集的方法及其系统。

本发明提供一种基于php自定义规则进行数据采集的方法,其技术方案如下:

一种基于php自定义规则进行数据采集的方法,包括以下步骤:

a、基于guzzle组件,生成采集客户端;

b、获取目标网站,读取其文本内容;

c、进行文件切片,完成数据提取。

在本技术方案中,采用php开发语言并使用guzzle组件作为采集客户端(可以方便随机模拟多种采集平台),读取到文本内容后,使用文本定位切片方法进行文件切片;可作为通用采集数据工具,降低了采集规则难度与学习使用成本,能够在数分钟内完成一个特定网站类型的数据采集。

优选的,所述步骤a包括以下步骤:

根据需求,将生成的采集客户端模拟成相应的采集平台。采集客户端在使用时,可根据需求模拟多种采集平台;克服了传统数据采集还必需要安装第三方客户端等问题,增强了数据采集的适应性,提高了采集效率。

优选的,所述步骤c包括以下步骤:

读取文本内容后,分析其元素,并定位切片标签;

根据定位切片标签所处的开始标签和结束标签,定义相应的规则。

选定目标网站,根据html源代码分析其元素,定位切片标签,列入开始标签<body>、结束标签</body>,则规则为“<body>|</body>”;方便定位到所需要的数据所在的标签位置,进而采集到需要的数据。

优选的,所述步骤c还包括以下步骤:

获取从大到小依次切片后的标签,并定位到循环标签;

基于tag标签进行数组切片。

从大到小依次切片,最终定位到循环标签;然后使用tag:#l__<ul>进行数组切片。

优选的,所述步骤c还包括以下步骤:

将循环标签转换为数组,提取所需的字段;

根据字段得到所需的url,并进行url修复。

把循环标签转为数组,提取需要的字段,最后得到需要的url并进行url修复,完成数据提取;提高采集效率的同时,还提高了数据采集的准确性。

本发明还提供一种基于php自定义规则进行数据采集的系统,其技术方案如下:

一种基于php自定义规则进行数据采集的系统,包括采集生成模块、文本读取模块和数据提取模块,其中:

采集生成模块,基于guzzle组件,生成采集客户端;

文本读取模块,用于获取目标网站,读取其文本内容;

数据提取模块,用于进行文件切片,完成数据提取。

优选的,所述采集生成模块包括平台模拟子模块,用于根据需求,将生成的采集客户端模拟成相应的采集平台。

优选的,所述数据提取模块包括定位切片子模块和规则定义子模块,其中:

定位切片子模块,用于在读取文本内容后,分析其元素,并定位切片标签;

规则定义子模块,用于根据定位切片标签所处的开始标签和结束标签,定义相应的规则。

优选的,所述数据提取模块还包括循环定位子模块和数组切片子模块,其中:

循环定位子模块,用于获取从大到小依次切片后的标签,并定位到循环标签;

数组切片子模块,基于tag标签进行数组切片。

优选的,所述数据提取模块还包括字段提取子模块和提取修复子模块,其中:

字段提取子模块,用于将循环标签转换为数组,提取所需的字段;

提取修复子模块,用于根据字段得到所需的url,并进行url修复。

本发明的有益效果是:

本发明采用php开发语言并使用guzzle组件作为采集客户端,读取到文本内容后,使用文本定位切片方法进行文件切片;降低了采集规则难度与学习使用成本,提高了采集的效率,能够数分钟内完成一个特定网站类型的数据采集。

附图说明

图1是本发明实施例所述基于php自定义规则进行数据采集的方法的流程图;

图2是本发明实施例所述基于php自定义规则进行数据采集的系统的原理框图。

附图标记说明:

10-采集生成模块;101-平台模拟子模块;20-文本读取模块;30-数据提取模块;301-定位切片子模块;302-规则定义子模块;303-循环定位子模块;304-数组切片子模块;305-字段提取子模块;306-提取修复子模块。

具体实施方式

下面结合附图对本发明的实施例进行详细说明。

实施例1

如图1所示,一种基于php自定义规则进行数据采集的方法,包括以下步骤:

a、基于guzzle组件,生成采集客户端;

b、获取目标网站,读取其文本内容;

c、进行文件切片,完成数据提取。

在本实施例中,采用php开发语言并使用guzzle组件作为采集客户端(可以方便随机模拟多种采集平台),读取到文本内容后,使用文本定位切片方法进行文件切片;可作为通用采集数据工具,降低了采集规则难度与学习使用成本,能够在数分钟内完成一个特定网站类型的数据采集。

实施例2

本实施例在实施例1的基础上,所述步骤a包括以下步骤:

根据需求,将生成的采集客户端模拟成相应的采集平台。采集客户端在使用时,可根据需求模拟多种采集平台;克服了传统数据采集还必需要安装第三方客户端等问题,增强了数据采集的适应性,提高了采集效率。

实施例3

本实施例在实施例1的基础上,所述步骤c包括以下步骤:

读取文本内容后,分析其元素,并定位切片标签;

根据定位切片标签所处的开始标签和结束标签,定义相应的规则。

选定目标网站,根据html源代码分析其元素,定位切片标签,列入开始标签<body>、结束标签</body>,则规则为“<body>|</body>”;方便定位到所需要的数据所在的标签位置,进而采集到需要的数据。

实施例4

本实施例在实施例3的基础上,所述步骤c还包括以下步骤:

获取从大到小依次切片后的标签,并定位到循环标签;

基于tag标签进行数组切片。

从大到小依次切片,最终定位到循环标签;然后使用tag:#l__<ul>进行数组切片。

实施例5

本实施例在实施例4的基础上,所述步骤c还包括以下步骤:

将循环标签转换为数组,提取所需的字段;

根据字段得到所需的url,并进行url修复。

把循环标签转为数组,提取需要的字段,最后得到需要的url并进行url修复,完成数据提取;提高采集效率的同时,还提高了数据采集的准确性。

实施例6

本实施例为实施例1的系统,如图2所示,一种基于php自定义规则进行数据采集的系统,包括采集生成模块10、文本读取模块20和数据提取模块30,其中:

采集生成模块10,基于guzzle组件,生成采集客户端;

文本读取模块20,用于获取目标网站,读取其文本内容;

数据提取模块30,用于进行文件切片,完成数据提取。

实施例7

本实施例为实施例2的系统,所述采集生成模块10包括平台模拟子模块101,用于根据需求,将生成的采集客户端模拟成相应的采集平台。

实施例8

本实施例为实施例3的系统,所述数据提取模块30包括定位切片子模块301和规则定义子模块302,其中:

定位切片子模块301,用于在读取文本内容后,分析其元素,并定位切片标签;

规则定义子模块302,用于根据定位切片标签所处的开始标签和结束标签,定义相应的规则。

实施例9

本实施例为实施例4的系统,所述数据提取模块30还包括循环定位子模块303和数组切片子模块304,其中:

循环定位子模块303,用于获取从大到小依次切片后的标签,并定位到循环标签;

数组切片子模块304,基于tag标签进行数组切片。

实施例10

本实施例为实施例5的系统,所述数据提取模块30还包括字段提取子模块305和提取修复子模块306,其中:

字段提取子模块305,用于将循环标签转换为数组,提取所需的字段;

提取修复子模块306,用于根据字段得到所需的url,并进行url修复。

以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

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