CN109299411A - 一种网络信息感知方法 - Google Patents
一种网络信息感知方法 Download PDFInfo
- Publication number
- CN109299411A CN109299411A CN201811126845.XA CN201811126845A CN109299411A CN 109299411 A CN109299411 A CN 109299411A CN 201811126845 A CN201811126845 A CN 201811126845A CN 109299411 A CN109299411 A CN 109299411A
- Authority
- CN
- China
- Prior art keywords
- variable
- code
- url
- web page
- page address
- 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.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提出了一种网络信息感知方法,通过对网页进行编码,对网页进行多次扫描,每次扫描都进行一次编码,将扫描后的编码与第一次编码进行比对,若两次编码不一样,代表网页信息有变化,以此来判断网页信息是否发生变化,可以代替人工查看或者对网页信息内容进行分析比对来获知是否有信息更新的方法,本发明的技术相对于传统的感知技术,更简单,可以减少人工操作;整个技术可以对网站进行编号,通过对编码的解析比对,获取网址的数据更新情况,无需人工查看或者对网页内容进行分析比对而获知是否有信息更新。
Description
技术领域
本发明涉及网页感知领域,尤其涉及一种网络信息感知方法。
背景技术
随着科技的进步,互联网信息进入一个爆炸式、多元式的时代,互联网成为一个巨大的信息库,面对互联网上兼具多样性和复杂性的海量信息,仅仅靠人工收集、整理、跟踪最新信息动态,显然是不科学的、低效的,也不能满足实际需要。而互联网信息自动采集可以使用户在信息采集、资源整合、资金利用、人力投入等方面节约大量资源,广泛应用于行业门户网站信息采集、竞争对手情报数据搜集、网站内容系统建设、垂直搜索、舆情监测、科研等领域。
常规网页抓取步骤包括:
1、从网站入口开始加载页面所有链接URL;
2、加载此网站定制的脚本;
3、翻转出所有符合该站点翻转规则的帖子URL;
4、加入采集队列,采集输出结构化数据;
5、分析,处理,存储。
现有的互联网信息因为格式多样化,数据量爆炸式膨胀,监控严格,动态加载,爬虫策略限制等,导致收集难度加大。因此现需一种可以自动感知互联网的站群集更新动态的网络信息感知方法。
发明内容
有鉴于此,本发明提出了一种可以自动感知互联网的站群集更新动态的网络信息感知方法。
本发明的技术方案是这样实现的:本发明提供了一种网络信息感知方法,其包括以下步骤:
S101、在数据库中的任务设置表中创建用来存储任务的各项参数,包括任务的标识int自增类型taskid、pa监测频率、pb截止时间,以时间戳的方式存储格林威治时间1970年01月01日00时00分00秒起至现在的总秒数;
S102、在数据库中的监测队列存储表中配置待测网页地址url以及各网页地址url所属的任务标识,并存储用来检测网页地址url的队列ID以及队列监测的结果和记录;
S103、系统读取存放在任务设置表的数组$task中与任务设置表相关的配置记录,并且向服务器发送用于设置周期性被执行的指令crontab命令,将网页地址url的值传送到do.php文件中;
S104、循环执行do.php文件,找到待测网页地址url的源码,对待测网页地址url的主体内容进行编码,周期扫描待测网页地址url的主体内容,每扫描一次,对待测网页地址url的主体内容进行哈希编码,将最近一次的哈希编码与第一次主体内容的编码进行比对,比对结果一致,则代表网页没有更新,比对结果不一致,则代表网页更新。
在以上技术方案的基础上,优选的,do.php文件是嵌入do循环后的一个动态网页文件,循环执行do.php文件,包括以下步骤:
S201、接收来自任务设置表中的taskid,并存入do.php文件中的数组$taskid中,在do.php文件中定义存储队列的数组$que,并在监测队列存储表中检索taskid=$taskid的数据,将检索到的数据存入到数组$que中,$que的数组格式为array([0]=>array([queid=>1,[url]=>URLA]),[1]=>array([queid=>3,[url]=>URLC]));
S202、循环遍历$que数组,取出网页地址$que[url];
S203、通过CURL操作,获取到待测网页地址$que[url]的源码,并存储到do.php文件中的变量$content中;
S204、在do.php文件中定义变量$ruler,将正则表达式赋值给变量$ruler=’/<body[^>]*?>(.*\s*?)<\/body>/is’;
S205、在do.php文件中定义变量$body,通过正则表达式,提取出$content中<body>标签的主体内容,复制给变量$body;
S206、将取到的$body字符串,进行哈希编码,并将哈希编码存入do.php文件中的变量$code;
S207、在监测结果存储表检索出与$que[url]有关的记录,并进行监测时间的倒序排序,取出最近的一条记录的coda字段存入变量$lastcode;
S208、将变量$lastcode与变量$code进行对比,如果对比一致,即$lastcode=$code,则表示数据没有变动,定义比对结果为变量$res,将变量$res赋值为0,如果对比不一致,即$lastcode!=$code,则表示数据有变动,将变量$res赋值1,将比对结果变量$res存入监测结果存储表中;
S209、将对比结果$res连同编码字串$code、队列ID和当前系统时间存入监测结果存储表,等待下一次对比;
S210、提取任务设置表中当前读取的任务设置参数$taskid[pb]与当前系统的时间戳进行比对,如果$taskid[pb]>=当前系统的时间戳,说明此次任务已经过期,则跳出循环,并且向服务器发送停止定时任务指令crontab–r,如果$taskid[pb]<当前系统的时间戳,继续执行循环S201~S210。
更进一步优选的,S205中,将$content中<body>标签的主体内容复制给变量$body的代码是:preg_match($ruler,$content,$body)。
更进一步优选的,S206中,将哈希编码存入变量$code的代码是:$code=hash('ripemd160',$body)。
更进一步优选的,S207中实现监测时间的倒序排序的代码是:where queid=$que[id]order by time desc。
本发明的一种网络信息感知方法相对于现有技术具有以下有益效果:
(1)通过对网页进行编码,对网页进行多次扫描,每次扫描都进行一次编码,将扫描后的编码与第一次编码进行比对,若两次编码不一样,代表网页信息有变化,以此来判断网页信息是否发生变化,可以代替人工查看或者对网页信息内容进行分析比对来获知是否有信息更新的方法,本发明的技术相对于传统的感知技术,更简单,可以减少人工操作;
(2)整个技术可以对网站进行编号,通过对编码的解析比对,获取网址的数据更新情况,无需人工查看或者对网页内容进行分析比对而获知是否有信息更新。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种网络信息感知方法流程图;
图2为本发明的一种网络信息感知方法中的任务设置表;
图3为本发明的一种网络信息感知方法中的监测队列存储表;
图4为本发明的一种网络信息感知方法中do.php文件循环执行的流程图;
图5为本发明的一种网络信息感知方法中监测结果存储表。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
如图1所示,本发明的一种网络信息感知方法,其包括以下步骤。
S101、在数据库中的任务设置表中创建用来存储任务的各项参数,包括任务的标识int自增类型taskid、pa监测频率、pb截止时间,以时间戳的方式存储格林威治时间1970年01月01日00时00分00秒起至现在的总秒数;
S102、在数据库中的监测队列存储表中配置待测网页地址url以及各网页地址url所属的任务标识,并存储用来检测网页地址url的队列ID以及队列监测的结果和记录;
S103、系统读取存放在任务设置表的数组$task中与任务设置表相关的配置记录,并且向服务器发送用于设置周期性被执行的指令crontab命令,将网页地址url的值传送到do.php文件中;
S104、循环执行do.php文件,找到待测网页地址url的源码,对待测网页地址url的主体内容进行编码,周期扫描待测网页地址url的主体内容,每扫描一次,对待测网页地址url的主体内容进行哈希编码,将最近一次的哈希编码与第一次主体内容的编码进行比对,比对结果一致,则代表网页没有更新,比对结果不一致,则代表网页更新。
其中,S101中的任务设置表如图2所示,taskid任务标识int(10)是任务标识号,pa检测频率(int10)和pb截止时间int(10)均是预先设置好的参数。
S102中的监测队列存储表如图3所示,taskid所属任务int(10)的数字代表所属的任务标识,即taskid所属任务int(10)与taskid任务标识int(10)是一一对应的关系,url页面地址varchar(255)代表的是网页地址url,queid队列IDint(10)代表的是queid队列的ID,例如,如图3所示,taskid任务标识int(10)为1的任务标识对应两个taskid所属任务int(10)为1的所属任务标识,两个taskid所属任务int(10)为1的所属任务标识分别检测的是网页地址URLA和URLC,即任务标识为1的任务检测的是网页地址URLA和URLC的网页更新情况。
在S104中do.php文件是嵌入do循环后的一个动态网页文件,循环执行do.php文件,如图4所示,包括以下步骤:
S201、接收来自任务设置表中的taskid,并存入do.php文件中的数组$taskid中,在do.php文件中定义存储队列的数组$que,并在监测队列存储表中检索taskid=$taskid的数据,将检索到的数据存入到数组$que中,$que的数组格式为array([0]=>array([queid=>1,[url]=>URLA]),[1]=>array([queid=>3,[url]=>URLC]));
S202、循环遍历$que数组,取出网页地址$que[url];
S203、通过CURL操作,获取到待测网页地址$que[url]的源码,并存储到do.php文件中的变量$content中;
S204、在do.php文件中定义变量$ruler,将正则表达式赋值给变量$ruler=’/<body[^>]*?>(.*\s*?)<\/body>/is’;
S205、在do.php文件中定义变量$body,通过正则表达式,提取出$content中<body>标签的主体内容,并复制给变量$body,实现$content中<body>标签的主体内容复制给变量$body的代码是:preg_match($ruler,$content,$body);
S206、将取到的$body字符串,进行哈希编码,并将哈希编码存入do.php文件中的变量$code,实现哈希编码存入变量$code的代码是:$code=hash('ripemd160',$body);
S207、在监测结果存储表检索出与$que[url]有关的记录,并进行监测时间的倒序排序,取出最近的一条记录的coda字段存入变量$lastcode,实现监测时间倒序排序的代码是:wherequeid=$que[id]orderbytimedesc;
S208、将变量$lastcode与变量$code进行对比,如果对比一致,即$lastcode=$code,则表示数据没有变动,定义比对结果为变量$res,将变量$res赋值为0,如果对比不一致,即$lastcode!=$code,则表示数据有变动,将变量$res赋值1,将比对结果变量$res存入监测结果存储表中;
S209、将对比结果$res连同编码字串$code、队列ID和当前系统时间存入监测结果存储表,等待下一次对比;
S210、提取任务设置表中当前读取的任务设置参数$taskid[pb]与当前系统的时间戳进行比对,如果$taskid[pb]>=当前系统的时间戳,说明此次任务已经过期,则跳出循环,并且向服务器发送停止定时任务指令crontab–r,如果$taskid[pb]<当前系统的时间戳,继续执行循环S201~S210。
其中,S203中的CURL是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。同时,PHP也支持CURL库。在本发明中CURL操作、正则表达式和哈希编码均是现有技术,在此不再累赘。
图5中,resid结果IDint(10)代表监测次数,time监测时间int(10)是每次监测的时间,code特征码varchar(255)代表的是对扫描网页主体内容进行的哈希编码,res比对结果int(1)代表的是每次比对的结果,监测结果存储表中存储的queid队列IDint(10)是图3所示的监测队列存储表中的queid队列IDint(10),在监测结果存储表中存储数值相同的queid队列IDint(10)是属于同一个队列监测的结果,例如queid队列IDint(10)为1的队列监测结果对应图5中的queid队列ID int(10)为1的所监测的结果,综合图2、图3和图5,以taskid任务标识int(10)为1的任务为例,taskid任务标识int(10)为1的任务监测网页地址为URLA和URLB的网页,其中,网页地址为URLA的网页对应的监测queid队列IDint(10)为1,queid队列IDint(10)为1的队列监测的结果如图5所示,监测时间是倒序排列的,图5中的res比对结果int(1)中的1代表网页有变化,0代表网页没有变化。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种网络信息感知方法,其包括以下步骤:
S101、在数据库中的任务设置表中创建用来存储任务的各项参数,包括任务的标识int自增类型taskid、pa监测频率、pb截止时间,以时间戳的方式存储格林威治时间1970年01月01日00时00分00秒起至现在的总秒数;
S102、在数据库中的监测队列存储表中配置待测网页地址url以及各网页地址url所属的任务标识,并存储用来检测网页地址url的队列ID以及队列监测的结果和记录;
S103、系统读取存放在任务设置表的数组$task中与任务设置表相关的配置记录,并且向服务器发送用于设置周期性被执行的指令crontab命令,将网页地址url的值传送到do.php文件中;
S104、循环执行do.php文件,找到待测网页地址url的源码,对待测网页地址url的主体内容进行编码,周期扫描待测网页地址url的主体内容,每扫描一次,对待测网页地址url的主体内容进行哈希编码,将最近一次的哈希编码与第一次主体内容的编码进行比对,比对结果一致,则代表网页没有更新,比对结果不一致,则代表网页更新。
2.如权利要求1所述的一种网络信息感知方法,其特征在于:所述do.php文件是嵌入do循环后的一个动态网页文件,循环执行do.php文件,包括以下步骤:
S201、接收来自任务设置表中的taskid,并存入do.php文件中的数组$taskid中,在do.php文件中定义存储队列的数组$que,并在监测队列存储表中检索taskid=$taskid的数据,将检索到的数据存入到数组$que中,$que的数组格式为array([0]=>array([queid=>1,[url]=>URLA]),[1]=>array([queid=>3,[url]=>URLC]));
S202、循环遍历$que数组,取出网页地址$que[url];
S203、通过CURL操作,获取到待测网页地址$que[url]的源码,并存储到do.php文件中的变量$content中;
S204、在do.php文件中定义变量$ruler,将正则表达式赋值给变量$ruler=’/<body[^>]*?>(.*\s*?)<\/body>/is’;
S205、在do.php文件中定义变量$body,通过正则表达式,提取出$content中<body>标签的主体内容,复制给变量$body;
S206、将取到的$body字符串,进行哈希编码,并将哈希编码存入do.php文件中的变量$code;
S207、在监测结果存储表检索出与$que[url]有关的记录,并进行监测时间的倒序排序,取出最近的一条记录的coda字段存入变量$lastcode;
S208、将变量$lastcode与变量$code进行对比,如果对比一致,即$lastcode=$code,则表示数据没有变动,定义比对结果为变量$res,将变量$res赋值为0,如果对比不一致,即$lastcode!=$code,则表示数据有变动,将变量$res赋值1,将比对结果变量$res存入监测结果存储表中;
S209、将对比结果$res连同编码字串$code、队列ID和当前系统时间存入监测结果存储表,等待下一次对比;
S210、提取任务设置表中当前读取的任务设置参数$taskid[pb]与当前系统的时间戳进行比对,如果$taskid[pb]>=当前系统的时间戳,说明此次任务已经过期,则跳出循环,并且向服务器发送停止定时任务指令crontab–r,如果$taskid[pb]<当前系统的时间戳,继续执行循环S201~S210。
3.如权利要求2所述的一种网络信息感知方法,其特征在于:所述S205中,将$content中<body>标签的主体内容复制给变量$body的代码是:preg_match($ruler,$content,$body)。
4.如权利要求2所述的一种网络信息感知方法,其特征在于:所述S206中,将哈希编码存入变量$code的代码是:$code=hash('ripemd160',$body)。
5.如权利要求2所述的一种网络信息感知方法,其特征在于:所述S207中实现监测时间的倒序排序的代码是:wherequeid=$que[id]orderbytimedesc。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811126845.XA CN109299411A (zh) | 2018-09-26 | 2018-09-26 | 一种网络信息感知方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811126845.XA CN109299411A (zh) | 2018-09-26 | 2018-09-26 | 一种网络信息感知方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109299411A true CN109299411A (zh) | 2019-02-01 |
Family
ID=65164561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811126845.XA Pending CN109299411A (zh) | 2018-09-26 | 2018-09-26 | 一种网络信息感知方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109299411A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046187A1 (en) * | 2005-04-22 | 2008-02-21 | New York University | Method, system and software arrangement for detecting or determining similarity regions between datasets |
CN101296219A (zh) * | 2007-04-26 | 2008-10-29 | 上海市静安区教育学院附属学校 | 一种文本消息检测算法和基于该算法的个性化网络消息发布监视方法 |
CN101882162A (zh) * | 2010-06-29 | 2010-11-10 | 北京搜狗科技发展有限公司 | 一种网络信息推送方法及系统 |
CN102890704A (zh) * | 2012-07-31 | 2013-01-23 | 万金朋 | 一种在线更新兴趣信息的采集方法 |
CN102932197A (zh) * | 2011-08-11 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 一种测试方法及测试系统 |
US20140136944A1 (en) * | 2012-11-09 | 2014-05-15 | Adobe Systems Incorporated | Real time web development testing and reporting system |
CN103838732A (zh) * | 2012-11-21 | 2014-06-04 | 大连灵动科技发展有限公司 | 一种生活服务领域垂直搜索引擎 |
CN103885960A (zh) * | 2012-12-20 | 2014-06-25 | 上海明想电子科技有限公司 | 一种监控网页变动的方法 |
CN108182370A (zh) * | 2018-02-02 | 2018-06-19 | 上海斗象信息科技有限公司 | 基于动静态分离模板的客户端网页篡改检测方法 |
-
2018
- 2018-09-26 CN CN201811126845.XA patent/CN109299411A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046187A1 (en) * | 2005-04-22 | 2008-02-21 | New York University | Method, system and software arrangement for detecting or determining similarity regions between datasets |
CN101296219A (zh) * | 2007-04-26 | 2008-10-29 | 上海市静安区教育学院附属学校 | 一种文本消息检测算法和基于该算法的个性化网络消息发布监视方法 |
CN101882162A (zh) * | 2010-06-29 | 2010-11-10 | 北京搜狗科技发展有限公司 | 一种网络信息推送方法及系统 |
CN102932197A (zh) * | 2011-08-11 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 一种测试方法及测试系统 |
CN102890704A (zh) * | 2012-07-31 | 2013-01-23 | 万金朋 | 一种在线更新兴趣信息的采集方法 |
US20140136944A1 (en) * | 2012-11-09 | 2014-05-15 | Adobe Systems Incorporated | Real time web development testing and reporting system |
CN103838732A (zh) * | 2012-11-21 | 2014-06-04 | 大连灵动科技发展有限公司 | 一种生活服务领域垂直搜索引擎 |
CN103885960A (zh) * | 2012-12-20 | 2014-06-25 | 上海明想电子科技有限公司 | 一种监控网页变动的方法 |
CN108182370A (zh) * | 2018-02-02 | 2018-06-19 | 上海斗象信息科技有限公司 | 基于动静态分离模板的客户端网页篡改检测方法 |
Non-Patent Citations (4)
Title |
---|
LAKMAL MEEGAHAPOLA 等: "Optimizing change detection in distributed digital collections: An architectural perspective of change detection", 《2017 18TH IEEE/ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING (SNPD)》 * |
李莎莎: "增量式Web信息采集与信息提取系统的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
盛博文: "WEB网站内容更新检测关键技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
董守斌 等: "《网络信息检索》", 30 April 2010, 西安电子科技大学出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Phenological mismatches between above-and belowground plant responses to climate warming | |
Zeng et al. | The national forest inventory in China: history-results-international context | |
CN104050196B (zh) | 一种兴趣点数据冗余检测方法及装置 | |
CN105335246B (zh) | 一种基于问答网站分析的程序崩溃缺陷自动修复方法 | |
CN102521232B (zh) | 一种互联网元数据的分布式采集处理系统及方法 | |
CN102314497B (zh) | 一种用于识别标记语言文件主体内容的方法和设备 | |
CN101976235A (zh) | 基于动态网页的可扩展的Word报告自动生成方法 | |
CN101370024A (zh) | 信息的分布式采集方法及系统 | |
CN101441629A (zh) | 一种非结构化网页信息的自动采集方法 | |
CN107562600A (zh) | 页面检测方法、装置、计算设备以及存储介质 | |
CN102760151A (zh) | 开源软件获取与搜索系统的实现方法 | |
CN102609412A (zh) | 基于rss的多线程图文信息同步爬取的控制方法及系统 | |
CN103049562A (zh) | 一种识别相似网页的方法及装置 | |
Gröchenig et al. | Digging into the history of VGI data-sets: results from a worldwide study on OpenStreetMap mapping activity | |
CN103699611A (zh) | 一种基于动态摘要技术的微博流信息提取方法 | |
CN112445997A (zh) | 一种提取cms多版本识别特征规则的方法及装置 | |
Adhinugroho et al. | Development of online travel Web scraping for tourism statistics in Indonesia | |
CN107463711A (zh) | 一种数据的标签匹配方法及装置 | |
CN106886532A (zh) | 基于权威网页验证poi数据准确性的方式及装置 | |
CN105721519B (zh) | 一种网页数据采集方法、装置及系统 | |
CN103377403B (zh) | 企业业务组件建模方法和系统 | |
CN104462566A (zh) | 一种环保信息网格抓取方法 | |
CN104156458B (zh) | 一种信息的提取方法及装置 | |
CN109299411A (zh) | 一种网络信息感知方法 | |
CN104142952A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190201 |