CN109800343B - 一种基于php自定义规则进行数据采集的方法及其系统 - Google Patents

一种基于php自定义规则进行数据采集的方法及其系统 Download PDF

Info

Publication number
CN109800343B
CN109800343B CN201811519454.4A CN201811519454A CN109800343B CN 109800343 B CN109800343 B CN 109800343B CN 201811519454 A CN201811519454 A CN 201811519454A CN 109800343 B CN109800343 B CN 109800343B
Authority
CN
China
Prior art keywords
acquisition
slicing
positioning
module
submodule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811519454.4A
Other languages
English (en)
Other versions
CN109800343A (zh
Inventor
任毅
刘伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Business Easy Co ltd
Original Assignee
Sichuan Business Easy Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Business Easy Co ltd filed Critical Sichuan Business Easy Co ltd
Priority to CN201811519454.4A priority Critical patent/CN109800343B/zh
Publication of CN109800343A publication Critical patent/CN109800343A/zh
Application granted granted Critical
Publication of CN109800343B publication Critical patent/CN109800343B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

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

Description

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

Claims (4)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811519454.4A CN109800343B (zh) 2018-12-12 2018-12-12 一种基于php自定义规则进行数据采集的方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811519454.4A CN109800343B (zh) 2018-12-12 2018-12-12 一种基于php自定义规则进行数据采集的方法及其系统

Publications (2)

Publication Number Publication Date
CN109800343A CN109800343A (zh) 2019-05-24
CN109800343B true CN109800343B (zh) 2022-11-22

Family

ID=66556676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811519454.4A Active CN109800343B (zh) 2018-12-12 2018-12-12 一种基于php自定义规则进行数据采集的方法及其系统

Country Status (1)

Country Link
CN (1) CN109800343B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826553B1 (en) * 1998-12-18 2004-11-30 Knowmadic, Inc. System for providing database functions for multiple internet sources
CN103279567A (zh) * 2013-06-18 2013-09-04 重庆邮电大学 一种基于AJAX的Web数据采集方法及系统
CN105718584A (zh) * 2016-01-26 2016-06-29 中国人民解放军国防科学技术大学 网页正文提取的方法及装置
CN108235151A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种视频直播的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826553B1 (en) * 1998-12-18 2004-11-30 Knowmadic, Inc. System for providing database functions for multiple internet sources
CN103279567A (zh) * 2013-06-18 2013-09-04 重庆邮电大学 一种基于AJAX的Web数据采集方法及系统
CN105718584A (zh) * 2016-01-26 2016-06-29 中国人民解放军国防科学技术大学 网页正文提取的方法及装置
CN108235151A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种视频直播的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
自定规则的AJAX网页信息采集功能的设计;胡越等;《物联网技术》;20160920(第09期);全文 *

Also Published As

Publication number Publication date
CN109800343A (zh) 2019-05-24

Similar Documents

Publication Publication Date Title
CN107423391B (zh) 网页结构化数据的信息提取方法
CN102135976B (zh) 超文本标识语言页面结构化数据提取方法及装置
CN110502538B (zh) 画像标签生成逻辑映射的方法、系统、设备及存储介质
CN103678509A (zh) 生成网页模板的方法及装置
US20140156799A1 (en) Method and System for Extracting Post Contents From Forum Web Page
CN110688315A (zh) 接口代码检测报告生成方法、电子装置及存储介质
CN113283231B (zh) 获取签章位的方法、设置系统、签章系统及存储介质
CN111008706A (zh) 一种自动标注、训练、预测海量数据的处理方法
CN108446230B (zh) 一种面向WebDriver的Java测试代码质量评判方法
CN113064811B (zh) 基于工作流的自动化测试方法、装置以及电子设备
CN111325012B (zh) word报表生成方法与系统
CN109800343B (zh) 一种基于php自定义规则进行数据采集的方法及其系统
CN105653669A (zh) 超文本标记语言生成方法及装置
CN117372346A (zh) 一种小样本缺陷识别方法、系统、设备及存储介质
CN110750637B (zh) 文本摘要提取方法、装置、计算机设备及存储介质
CN109508204B (zh) 一种前端代码质量检测方法及装置
CN106293862B (zh) 一种可扩展标记语言xml数据的解析方法和装置
CN116204421A (zh) 测试用例生成方法、装置、存储介质和计算机设备
CN110110050B (zh) 一种新闻事件生成式问答数据集的生成方法
CN109710808A (zh) 一种xml文件的解析方法、系统、装置及可读存储介质
CN112925874B (zh) 基于案例标记的相似代码搜索方法及系统
CN113312485B (zh) 日志自动化分类方法及装置、计算机可读存储介质
CN111667214B (zh) 基于二维码的货物信息获取方法、装置及电子设备
CN112667874A (zh) 网页的数据抽取方法、装置、电子设备及存储介质
CN111401005B (zh) 文本转换方法、装置及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant