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

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

Info

Publication number
CN109800343A
CN109800343A CN201811519454.4A CN201811519454A CN109800343A CN 109800343 A CN109800343 A CN 109800343A CN 201811519454 A CN201811519454 A CN 201811519454A CN 109800343 A CN109800343 A CN 109800343A
Authority
CN
China
Prior art keywords
label
php
submodule
carrying
rule
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.)
Granted
Application number
CN201811519454.4A
Other languages
English (en)
Other versions
CN109800343B (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 Shangtong Industrial Co Ltd
Original Assignee
Sichuan Shangtong Industrial 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 Shangtong Industrial Co Ltd filed Critical Sichuan Shangtong Industrial 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

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 (10)

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组件,生成采集客户端;
文本读取模块,用于获取目标网站,读取其文本内容;
数据提取模块,用于进行文件切片,完成数据提取。
7.根据权利要求6所述的基于PHP自定义规则进行数据采集的系统,其特征在于,所述采集生成模块包括平台模拟子模块,用于根据需求,将生成的采集客户端模拟成相应的采集平台。
8.根据权利要求6或7所述的基于PHP自定义规则进行数据采集的系统,其特征在于,所述数据提取模块包括定位切片子模块和规则定义子模块,其中:
定位切片子模块,用于在读取文本内容后,分析其元素,并定位切片标签;
规则定义子模块,用于根据定位切片标签所处的开始标签和结束标签,定义相应的规则。
9.根据权利要求8所述的基于PHP自定义规则进行数据采集的系统,其特征在于,所述数据提取模块还包括循环定位子模块和数组切片子模块,其中:
循环定位子模块,用于获取从大到小依次切片后的标签,并定位到循环标签;
数组切片子模块,基于TAG标签进行数组切片。
10.根据权利要求9所述的基于PHP自定义规则进行数据采集的系统,其特征在于,所述数据提取模块还包括字段提取子模块和提取修复子模块,其中:
字段提取子模块,用于将循环标签转换为数组,提取所需的字段;
提取修复子模块,用于根据字段得到所需的URL,并进行URL修复。
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 true CN109800343A (zh) 2019-05-24
CN109800343B 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网页信息采集功能的设计", 《物联网技术》 *

Also Published As

Publication number Publication date
CN109800343B (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
CN108288014A (zh) 道路智能提取方法和装置、提取模型构建方法及混合导航系统
US10026221B2 (en) Wetland modeling and prediction
CN107204956B (zh) 网站识别方法及装置
CN105224660A (zh) 一种地图兴趣点poi数据的处理方法和装置
CN108009547A (zh) 一种变电站设备的铭牌识别方法和装置
CN101441629A (zh) 一种非结构化网页信息的自动采集方法
CN108416034A (zh) 基于金融异构大数据的信息采集系统及其控制方法
CN108920476A (zh) 地图检索算路引擎测试系统及其测试方法
CN111190595A (zh) 基于界面设计图自动生成界面代码的方法、装置、介质及电子设备
CN106803093A (zh) 一种基于叶片纹理特征和iOS平台的植物物种识别方法
CN103473285A (zh) 基于位置标记的网页信息抽取方法和装置
CN109088793B (zh) 用于检测网络故障的方法和装置
CN102902792B (zh) 列表页识别系统及方法
CN110310278A (zh) 基于余量切割法的滑动窗口扫描方法
CN109800343A (zh) 一种基于php自定义规则进行数据采集的方法及其系统
CN112988758A (zh) 目标对象定位方法、装置、电子设备和存储介质
CN102929948B (zh) 列表页识别系统及方法
CN105279249B (zh) 一种网站中兴趣点数据的置信度的判定方法和装置
CN109710808A (zh) 一种xml文件的解析方法、系统、装置及可读存储介质
CN104657391A (zh) 页面的处理方法及装置
CN105160032B (zh) 一种网站中兴趣点数据的置信度的判定方法和装置
CN115311553A (zh) 目标检测方法、装置、电子设备及存储介质
CN103970777A (zh) 对表格数据进行批量操作的方法和装置
CN112508905A (zh) 一种金具锈蚀图像检测方法和计算机可读存储介质
CN101216894A (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