一种基于PHP自定义规则进行数据采集的方法及其系统技术方案

技术编号:21200094 阅读:27 留言:0更新日期:2019-05-25 01:18
本发明专利技术公开了一种基于PHP自定义规则进行数据采集的方法,基于guzzle组件,生成采集客户端;获取目标网站,读取其文本内容;进行文件切片,完成数据提取。本发明专利技术还公开了一种基于PHP自定义规则进行数据采集的系统,包括采集生成模块、文本读取模块和数据提取模块。本发明专利技术采用php开发语言并使用guzzle组件作为采集客户端,读取到文本内容后,使用文本定位切片方法进行文件切片;降低了采集规则难度与学习使用成本,提高了采集的效率,能够数分钟内完成一个特定网站类型的数据采集。

A Method and System for Data Acquisition Based on PHP Custom Rules

The invention discloses a method of data acquisition based on PHP custom rules, which generates acquisition client based on guzzle component, obtains target website, reads its text content, and performs file slicing to complete data extraction. The invention also discloses a data acquisition system based on PHP custom rules, including acquisition generation module, text reading module and data extraction module. The method adopts PHP development language and guzzle component as the acquisition client. After reading the text content, the method of text location slicing is used for file slicing. It reduces the difficulty of acquisition rules and the cost of learning and using, improves the efficiency of acquisition, and can complete the data acquisition of a specific website type in a few minutes.

【技术实现步骤摘要】
一种基于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本实施例本文档来自技高网...

【技术保护点】
1.一种基于PHP自定义规则进行数据采集的方法,其特征在于,包括以下步骤:a、基于guzzle组件,生成采集客户端;b、获取目标网站,读取其文本内容;c、进行文件切片,完成数据提取。

【技术特征摘要】
1.一种基于PHP自定义规则进行数据采集的方法,其特征在于,包括以下步骤:a、基于guzzle组件,生成采集客户端;b、获取目标网站,读取其文本内容;c、进行文件切片,完成数据提取。2.根据权利要求1所述的基于PHP自定义规则进行数据采集的方法,其特征在于,所述步骤a包括以下步骤:根据需求,将生成的采集客户端模拟成相应的采集平台。3.根据权利要求1或2所述的基于PHP自定义规则进行数据采集的方法,其特征在于,所述步骤c包括以下步骤:读取文本内容后,分析其元素,并定位切片标签;根据定位切片标签所处的开始标签和结束标签,定义相应的规则。4.根据权利要求3所述的基于PHP自定义规则进行数据采集的方法,其特征在于,所述步骤c还包括以下步骤:获取从大到小依次切片后的标签,并定位到循环标签;基于TAG标签进行数组切片。5.根据权利要求4所述的基于PHP自定义规则进行数据采集的方法,其特征在于,所述步骤c还包括以下步骤:将循环标签转换为数组,提取所需的字段;根据字段得到所需的URL,并进行URL修复。6.一种基于PHP自定义规则进行数据采集的系统,其特征在于,包括采集生成模块、文本读取模块和数据提取模块,其中:采集生成模块,基于guzzle组件,生成采集...

【专利技术属性】
技术研发人员:任毅刘伟
申请(专利权)人:四川商通实业有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1