基于浏览器扩充的数据采集系统及技巧
优采云 发布时间: 2020-08-21 03:05基于浏览器扩充的数据采集系统及技巧
基于浏览器扩充的数据采集系统及技巧
【技术领域】
[0001]本发明涉及一种数据采集系统,特别涉及一种基于浏览器扩充的数据采集系统及借助该数据采集系统实现的基于浏览器扩充的数据采集方法。
【背景技术】
[0002 ]由于近1年多来,互联网协议并没有本质的变化,所有on I ine (互联网上)及h5 (指第5代HTML,所谓HTML是“超文本标记语言”的日文简写)等网站页面仍然遵守w3c(万维网联盟)标准,通讯一直借助http协议(超文本传输协议),因此负责网路数据采集的爬虫程序构架,在这段时期内,也没有实质性地提高。
[0003]但是随着JS(JavaScript,一种直译式脚本语言)及浏览器技术的发展,各种反爬手段层出不穷,其中尤以后端反爬为主,因为后端反爬是可以直接抵挡爬虫步入的第一道门槛。
[0004]目前现有的垂直爬虫也主要以前期配置抓取步骤及参数,然后据此进行连续抓取,此方式主要存在的一个不足之处就是:面临对方后端反爬策略的修改,无法第一时间主动适配,必然引起在开发人员介入之前的一段时间,无法正常抓取。
[0005]并且目前市面上好多第三方的(开源)浏览器控制引擎经过试用,被发觉都存在着众*敏*感*词*方面的缺陷,并没有办法百分百模拟浏览器的行为特点,存在容易被对方探测到的风险。
[0006]因此,我们须要更为智能的爬虫系统,在面临对方后端反爬策略更改的第一时间,可以自适应而且持续正确抓取的动作。
【发明内容】
[0007]本发明要解决的技术问题是为了克服现有技术中目前通过垂直爬虫技术爬取网页信息存在在对方后端反爬策略修改时难以主动适配以及通过现有的浏览器未能完全模拟其行为特点的缺陷,提供一种基于浏览器扩充的数据采集系统及技巧。
[0008]本发明是通过下列技术方案来解决上述技术问题的:
[0009]本发明提供一种基于浏览器扩充的数据采集系统,其特征在于,其包括一浏览器、基于该浏览器的API(应用程序编程接口)说明建立的附加组件;
[0010]该附加组件用于主动协程一服务器,并从该服务器中获取一爬取目标;
[0011]该附加组件还用于控制该浏览器打开目标网页,并控制该浏览器对该目标网页进行访问,以及控制该浏览器从该目标网页中获取该爬取目标;
[0012]该附加组件还用于控制该浏览器对该目标网页中除该爬取目标外的其他页面内容进行访问;
[0013]该附加组件还用于控制该浏览器关掉该目标网页。
[0014]较佳地,该附加组件借助该浏览器的API施行控制操作以实现对该目标网页的访问。
[0015]较佳地,该控制操作包括点击操作、滚动操作和挥控操作。
[0016]本发明还提供一种基于浏览器扩充的数据采集方法,其特征在于,其借助上述的基于浏览器扩充的数据采集系统实现,该数据采集方法包括以下步骤:
[0017]S1、该附加组件主动协程一服务器,并从该服务器中获取一爬取目标;
[0018]&、该附加组件控制该浏览器打开目标网页;
[0019]&、该附加组件控制该浏览器对该目标网页进行访问;
[0020]S4、该附加组件控制该浏览器从该目标网页中获取该爬取目标;
[0021]&、该附加组件控制该浏览器对该目标网页中除该爬取目标外的其他页面内容进行访问;
[0022]S6、该附加组件控制该浏览器关掉该目标网页。
[0023]较佳地,该附加组件借助该浏览器的API施行控制操作以实现对该目标网页的访问。
[0024]较佳地,该控制操作包括点击操作、滚动操作和挥控操作。
[0025]在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
[0026]本发明的积极进步疗效在于:
[0027]本发明可以更隐蔽地借助爬虫技术进行数据的抓取,并且因为直接采用浏览器,使得所有的访问恳求均真实有效,并且对方网页上所有的JS都被正常执行,所有的参数建立也通过浏览器手动执行,不需要人工干预,即使对方后端反爬有改动,浏览器也能手动适应,极大地降低了人工成本,并且最大限度确保抓取的成功率。而且,通过单次或少量的恳求,对方难以剖析判别出访问者是爬虫还是真实的用户,使得对方网站管理者不敢轻易封杀,确保了抓取行为的连续性。
【附图说明】
[0028]图1为本发明的较佳施行例的基于浏览器扩充的数据采集方法的流程图。
【具体施行方法】
[0029]下面通过施行例的方法进一步说明本发明,但并不因而将本发明限制在所述的施行例范围之中。
[0030]本施行例提供一种基于浏览器扩充的数据采集系统及方式,该数据采集系统包括一浏览器、基于该浏览器的API说明建立的附加组件。
[0031]其中,该附加组件具备的功能有:该附加组件用于操纵该浏览器进行特定网页的访问,控制该浏览器打开或关掉特定的网页,控制该浏览器页面的个别特定行为,例如点击、滚动以及挥控操作以及操纵该浏览器从该浏览器的网页中获取信息。
[0032]该附加组件用于主动协程一服务器,并从该服务器中获取一爬取目标;
[0033]该附加组件还用于控制该浏览器打开目标网页,并控制该浏览器对该目标网页进行访问,以及控制该浏览器从该目标网页中获取该爬取目标;
[0034]该附加组件还用于控制该浏览器对该目标网页中除该爬取目标外的其他页面内容进行访问;
[0035]该附加组件还用于控制该浏览器关掉该目标网页。
[0036]如图1所示,该数据采集方法借助上述的基于浏览器扩充的数据采集系统实现,该数据采集方法包括以下步骤:
[0037]步骤101、该附加组件主动协程一服务器,并从该服务器中获取一爬取目标;
[0038]步骤102、该附加组件控制该浏览器打开目标网页;
[0039]步骤103、该附加组件控制该浏览器对该目标网页进行访问,该附加组件借助该浏览器的API施行控制操作以实现对该目标网页的访问,其中该控制操作包括点击操作、滚动操作和挥控操作;
[0040]步骤104、该附加组件控制该浏览器从该目标网页中获取该爬取目标;
[0041]步骤105、该附加组件控制该浏览器对该目标网页中除该爬取目标外的其他页面内容进行访问;
[0042]步骤106、该附加组件控制该浏览器关掉该目标网页。
[0043]在本方式中,附加组件借助浏览器(如火狐浏览器)提供的API,直接滚动页面或模拟键盘、键盘点击页面。由于好多页面为了探测用户的行为,有很多预留的埋点,当用户键盘经过或页面滚动到特定高度,将会触发一次埋点的网路恳求,所以通过模拟滚动与点击的控制操作,可以真实模拟一个普通用户的浏览行为,使对方通过单次用户的行为数据剖析,无法判定出当前访问者是否是一个真实存在的用户。
[0044]通过附加组件模拟真实用户浏览页面,且附加组件在须要爬取的目标页面打开并完成数据提取以后,并不把页面立刻关闭,而是在页面上找寻个别特定的元素进行点击操作,这样可以更真实地模拟用户的行为。由于普通用户并不会长时间的访问某一单一种类的页面,其必然会浏览一些其他感兴趣的信息,比如网站推荐的信息或一些评论信息等,然后再将这一组页面关掉,进行下一次的抓取。使目标网站无法通过后期(旁路)的用户行为剖析模型,进行有效的爬虫访问判定。
[0045]由此,本发明可以更隐蔽地借助爬虫技术进行数据的抓取,并且因为直接采用浏览器,使得所有的访问恳求均真实有效,并且对方网页上所有的JS都被正常执行,所有的参数建立也通过浏览器手动执行,不需要人工干预,即使对方后端反爬有改动,浏览器也能手动适应,极大地降低了人工成本,并且最大限度确保抓取的成功率。而且,通过单次或少量的恳求,对方难以剖析判定出访问者是爬虫还是真实的用户,使得对方网站管理者不敢轻易封杀,确保了抓取行为的连续性。
[0046]虽然以上描述了本发明的【具体施行方法】,但是本领域的技术人员应该理解,这些仅是举例说明,本发明的保护范围是由所附权力要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对那些施行方法作出多种变更或更改,但这种变更和更改均落入本发明的保护范围。
【主权项】
1.一种基于浏览器扩充的数据采集系统,其特点在于,其包括一浏览器、基于该浏览器的API说明建立的附加组件; 该附加组件用于主动协程一服务器,并从该服务器中获取一爬取目标; 该附加组件还用于控制该浏览器打开目标网页,并控制该浏览器对该目标网页进行访问,以及控制该浏览器从该目标网页中获取该爬取目标; 该附加组件还用于控制该浏览器对该目标网页中除该爬取目标外的其他页面内容进行访问; 该附加组件还用于控制该浏览器关掉该目标网页。2.如权力要求1所述的基于浏览器扩充的数据采集系统,其特点在于,该附加组件借助该浏览器的API施行控制操作以实现对该目标网页的访问。3.如权力要求2所述的基于浏览器扩充的数据采集系统,其特点在于,该控制操作包括点击操作、滚动操作和挥控操作。4.一种基于浏览器扩充的数据采集方法,其特点在于,其借助如权力要求1所述的基于浏览器扩充的数据采集系统实现,该数据采集方法包括以下步骤: 51、该附加组件主动协程一服务器,并从该服务器中获取一爬取目标; 52、该附加组件控制该浏览器打开目标网页; 53、该附加组件控制该浏览器对该目标网页进行访问; 54、该附加组件控制该浏览器从该目标网页中获取该爬取目标; &、该附加组件控制该浏览器对该目标网页中除该爬取目标外的其他页面内容进行访问; S6、该附加组件控制该浏览器关掉该目标网页。5.如权力要求4所述的基于浏览器扩充的数据采集方法,其特点在于,该附加组件借助该浏览器的API施行控制操作以实现对该目标网页的访问。6.如权力要求5所述的基于浏览器扩充的数据采集方法,其特点在于,该控制操作包括点击操作、滚动操作和挥控操作。
【专利摘要】本发明提供一种基于浏览器扩充的数据采集系统,其包括浏览器、基于浏览器的API说明建立的附加组件;附加组件用于主动协程服务器,从服务器中获取爬取目标;附加组件还用于控制浏览器打开目标网页,并控制浏览器对目标网页进行访问,以及控制浏览器从目标网页中获取爬取目标;附加组件还用于控制浏览器对目标网页中除爬取目标外的其他页面内容进行访问;附加组件还用于控制浏览器关掉目标网页。本发明可以更隐蔽地借助爬虫技术进行数据的抓取,并且因为直接采用浏览器,使得所有的访问恳求均真实有效,并且对方网页上所有的JS都被正常执行,即使对方后端反爬有改动,浏览器也能手动适应,减小了人工成本,最大限度确保抓取的成功率。
【IPC分类】G06F17/30
【公开号】CN105512193
【申请号】CN2
【发明人】吴凌峰, 吴鹏越
【申请人】上海携程商务*敏*感*词*
【公开日】2016年4月20日
【申请日】2015年11月26日