CN109800343A - 一种基于php自定义规则进行数据采集的方法及其系统 - Google Patents
一种基于php自定义规则进行数据采集的方法及其系统 Download PDFInfo
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于PHP自定义规则进行数据采集的方法,基于guzzle组件,生成采集客户端;获取目标网站,读取其文本内容;进行文件切片,完成数据提取。本发明还公开了一种基于PHP自定义规则进行数据采集的系统,包括采集生成模块、文本读取模块和数据提取模块。本发明采用php开发语言并使用guzzle组件作为采集客户端,读取到文本内容后,使用文本定位切片方法进行文件切片;降低了采集规则难度与学习使用成本,提高了采集的效率,能够数分钟内完成一个特定网站类型的数据采集。
Description
技术领域
本发明涉及网络爬虫技术领域,具体涉及一种基于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修复。
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)
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 | 北京奇虎科技有限公司 | 一种视频直播的方法和装置 |
-
2018
- 2018-12-12 CN CN201811519454.4A patent/CN109800343B/zh active Active
Patent Citations (4)
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)
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 |