CN108932285A - 一种基于浏览器扩展的数据抓取方法及系统 - Google Patents
一种基于浏览器扩展的数据抓取方法及系统 Download PDFInfo
- Publication number
- CN108932285A CN108932285A CN201810495217.2A CN201810495217A CN108932285A CN 108932285 A CN108932285 A CN 108932285A CN 201810495217 A CN201810495217 A CN 201810495217A CN 108932285 A CN108932285 A CN 108932285A
- Authority
- CN
- China
- Prior art keywords
- web page
- address
- preset
- target
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000013481 data capture Methods 0.000 claims abstract description 57
- 238000012790 confirmation Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 2
- 230000001052 transient effect Effects 0.000 claims 2
- 238000011161 development Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 239000002360 explosive Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种基于浏览器扩展的数据抓取方法及系统,其中方法包括:获取浏览器中当前网页对应的当前网页地址,将当前网页地址与预设配置文件中的目标网页地址进行匹配,预设配置文件中包含至少一个目标网页地址;当匹配成功时,从预设数据库中获取当前网页地址对应的预设规则,根据预设规则从当前网页中抓取目标数据。该方法及系统无需模拟浏览器,仅需利用浏览器可扩展的特性开发浏览器扩展插件,利用浏览器扩展插件从浏览器解析好的页面中提取目标数据,降低了整体开发难度,且可扩展性强;同时对于普通用户来说,仅需安装和操作浏览器的扩展插件即可,是一种类似于“所见即所得”的体验,有效提高了用户使用友好度。
Description
技术领域
本发明涉及网络数据抓取技术领域,更具体地,涉及一种基于浏览器扩展的数据抓取方法及系统。
背景技术
进入大数据时代,信息以“爆炸”的方式增长——以新浪微博为例,其日均微博更新多达1.2亿条。这种“爆炸”式增长的信息使互联网上的数据以几何倍数增长,也促使数据以更快的速度进入海量时代。海量数据在未来将体现出其巨大价值,对人们的生活和学习产生了巨大影响,同时也增加了人们有效获取数据的难度。
目前,以网络爬虫技术为基础从Web页面中抓取数据成为热门,网络爬虫的热门造成网络爬虫技术种类繁多,简单的从功能上可以划分为通用网络爬虫和聚焦网络爬虫,不论是这两类网络爬虫还是其他方式划分的网络爬虫,现有的爬虫技术的核心思想均是相同的,且核心思想都是模拟浏览器的方式下载网页和解析网页,从中采集数据。然而其中模拟浏览器功能的过程增加了网络爬虫开发的难度,也是最容易发生bug的地方,当模拟不完善时最容易触发采集对象服务器的反爬虫策略,无形中大幅度提高了开发网络爬虫系统人员的要求。同时,设计和实现网络爬虫系统还要考虑用户有计算机相关背景和知识,导致用户使用友好度差。
有鉴于此,亟待提供一种开发难度小且用户使用友好度高的数据抓取方法及系统。
发明内容
本发明为了克服现有技术中的网络爬虫系统开发难度大且用户使用友好度差的问题,提供一种基于浏览器扩展的数据抓取方法及系统。
一方面,本发明提供一种基于浏览器扩展的数据抓取方法,包括:
获取浏览器中当前网页对应的当前网页地址,将所述当前网页地址与预设配置文件中的目标网页地址进行匹配,所述预设配置文件中包含至少一个目标网页地址;
当匹配成功时,从预设数据库中获取所述当前网页地址对应的预设规则,根据所述预设规则从所述当前网页中抓取目标数据。
优选地,所述将所述当前网页地址与预设配置文件中的目标网页地址进行匹配,之前还包括:
根据用户需求获取所有所述目标网页地址,将所有所述目标网页地址配置在所述预设配置文件中。
优选地,所述从预设数据库中获取所述当前网页地址对应的预设规则,之前还包括:
根据用户需求配置每个所述目标网页地址对应的预设规则,将每个所述目标网页地址与对应的预设规则关联存储在所述预设数据库中。
优选地,所述从预设数据库中获取所述当前网页地址对应的预设规则,之前还包括:
向所述当前网页发送数据抓取请求,以使得用户对所述数据抓取请求进行确认;
相应地,当接收到用户的确认操作时,从预设数据库中获取所述当前网页地址对应的预设规则,根据所述预设规则从所述当前网页中抓取目标数据。
优选地,所述根据所述预设规则从所述当前网页中抓取目标数据,之后还包括:
当接收到用户的页面跳转请求时,根据所述预设规则从所述当前网页的下一网页中抓取所述目标数据。
优选地,所述根据所述预设规则从所述当前网页中抓取目标数据,之后还包括:
若达到预设时间间隔,则关闭所述当前网页。
优选地,所述根据所述预设规则从所述当前网页中抓取目标数据,之后还包括:
将所述目标数据发送给预设服务器,以使得所述预设服务器对所述目标数据进行整理并将所述目标数据中的重复数据进行删除。
一方面,本发明提供一种基于浏览器扩展的数据抓取系统,包括:
网址匹配模块,用于获取浏览器中当前网页对应的当前网页地址,将所述当前网页地址与预设配置文件中的目标网页地址进行匹配,所述预设配置文件中包含至少一个目标网页地址;
数据抓取模块,用于当匹配成功时,从预设数据库中获取所述当前网页地址对应的预设规则,根据所述预设规则从所述当前网页中抓取目标数据。
一方面,本发明提供一种基于浏览器扩展的数据抓取方法的设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述任一所述的方法。
一方面,本发明提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述任一所述的方法。
本发明提供的一种基于浏览器扩展的数据抓取方法及系统,获取浏览器中当前网页对应的当前网页地址,将当前网页地址与预设配置文件中的目标网页地址进行匹配,其中预设配置文件中包含至少一个目标网页地址;当匹配成功时,从预设数据库中获取当前网页地址对应的预设规则,根据预设规则从当前网页中抓取目标数据。该方法及系统将数据抓取过程中包含的网页下载和数据解析的任务交由浏览器实现,从而无需模拟浏览器,仅需利用浏览器可扩展的特性开发浏览器扩展插件,利用浏览器扩展插件从浏览器解析好的页面中提取目标数据,降低了整体开发难度;同时当存在新的用户需求时,仅需将新的目标网页地址添加至预设配置文件并根据用户需求重新编写预设规则即可,可扩展性较强;此外对于普通用户来说,仅需安装和操作浏览器的扩展插件即可,是一种类似于“所见即所得”的体验,有效提高了用户使用友好度。
附图说明
图1为本发明实施例的一种基于浏览器扩展的数据抓取方法的整体流程示意图;
图2为本发明实施例的一种基于浏览器扩展的数据抓取系统的整体结构示意图;
图3为本发明实施例的一种基于浏览器扩展的数据抓取方法的设备的结构框架示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
需要说明的是,现有的网络爬虫需要通过模拟浏览器的方式下载网页和解析网页实现数据抓取,其中模拟浏览器功能的过程增加了网络爬虫开发的难度。有鉴于此,本发明有效利用浏览器的特性,基于现有的浏览器功能进行扩展,提供一种基于浏览器扩展的数据抓取方法,其中浏览器扩展可以为扩展插件,可以通过在浏览器上安装扩展插件的方式对浏览器功能进行扩展,从而利用扩展插件实现数据抓取方法,具体实现过程如下:
图1为本发明实施例的一种基于浏览器扩展的数据抓取方法的整体流程示意图,如图1所示,本发明提供一种基于浏览器扩展的数据抓取方法,包括:
S1,获取浏览器中当前网页对应的当前网页地址,将当前网页地址与预设配置文件中的目标网页地址进行匹配,预设配置文件中包含至少一个目标网页地址;
具体地,当用户需要在某个特定网页上抓取特定数据时,需先将用户提供的特定网页的网页地址作为目标网页地址预先配置在预设配置文件中,其中预设配置文件中可以包含多个目标网页地址,且预设配置文件直接存储在浏览器端。在其他实施例中,目标网页地址还可以独立于配置文件,并可设置在服务器端,可以根据实际需求进行设置,此处不做具体限定。在此基础上,若用户在某一时刻打开浏览器并运行某一网页时,则获取浏览器运行的当前网页对应的网址,将该网址作为当前网页地址。此后,从预设配置文件中请求获取所有的目标网页地址,将当前网页地址与目标网页地址进行匹配,若存在一个目标网页地址与当前网页地址相同,则可确定当前网页地址与目标网页地址匹配成功。
需要说明的是,本实施例中的上述方法步骤是通过安装在浏览器上的扩展插件实现的,该扩展插件可以基于javascript脚本语言进行编码实现。上述预设配置文件可以直接在该扩展插件中编写并存储在扩展插件中,同时可将目标网页地址配置在预设配置文件中。此外,目标网页地址还可以单独存储在服务器端,若目标网页地址存储在服务器端,则可利用ajax技术从服务器端获取目标网页地址。
S2,当匹配成功时,从预设数据库中获取当前网页地址对应的预设规则,根据预设规则从当前网页中抓取目标数据。
具体地,若当前网页地址与目标网页地址匹配成功,则从预设数据库中获取当前网页地址对应的预设规则。其中,预设数据库中预先存储了每个目标网页地址对应的预设规则,且预设数据库设置在服务器端。在此基础上,当需要从预设数据库中获取与当前网页地址对应的预设规则时,则可以利用ajax技术从服务器端请求获取预设数据库中与当前网页地址对应的预设规则。最终,可以利用jQuery解析当前网页,形成当前网页对应的DOM树,再根据预设规则对当前网页进行DOM操作,以抓取当前网页中的目标数据。
需要说明的是,利用本实施例的基于浏览器扩展的数据抓取方法进行数据抓取时,当存在新的用户需求时,仅需将新的目标网页地址添加至预设配置文件并根据用户需求重新编写预设规则即可,可扩展性较强。同时,现有的网络爬虫系统往往由于请求被抓取对象太频繁而导致被屏蔽,而本实施例的基于浏览器扩展的数据抓取方法由于是从浏览器解析的网页中提取目标数据,所以对方服务器无法通过user-agent等浏览器信息来屏蔽,也不能通过URL中的验证参数来屏蔽请求,可以有效规避对方服务器的反爬虫策略。
本发明提供的一种基于浏览器扩展的数据抓取方法,获取浏览器中当前网页对应的当前网页地址,将当前网页地址与预设配置文件中的目标网页地址进行匹配,其中预设配置文件中包含至少一个目标网页地址;当匹配成功时,从预设数据库中获取当前网页地址对应的预设规则,根据预设规则从当前网页中抓取目标数据。该方法将数据抓取过程中包含的网页下载和数据解析的任务交由浏览器实现,从而无需模拟浏览器,仅需利用浏览器可扩展的特性开发浏览器扩展插件,利用浏览器扩展插件从浏览器解析好的页面中提取目标数据,降低了整体开发难度;同时当存在新的用户需求时,仅需将新的目标网页地址添加至预设配置文件并根据用户需求重新编写预设规则即可,可扩展性较强;此外对于普通用户来说,仅需安装和操作浏览器的扩展插件即可,是一种类似于“所见即所得”的体验,有效提高了用户使用友好度。
基于上述任一实施例,提供一种基于浏览器扩展的数据抓取方法,将当前网页地址与预设配置文件中的目标网页地址进行匹配,之前还包括:根据用户需求获取所有目标网页地址,将所有目标网页地址配置在预设配置文件中。
具体地,在将当前网页地址与预设配置文件中的目标网页地址进行匹配之前,需从用户需求中获取所有目标网页地址,并将所有目标网页地址配置在预设配置文件中。例如,当用户需求为从淘宝和京东上抓取订单号,则目标网页地址即为淘宝网址和京东网址,进而将淘宝网址和京东网址配置在预设配置文件中。其中,若当前网页运行所使用的浏览器为Chrome浏览器时,则预设配置文件可以manifest.json文件,在其他实施例中,预设配置文件可以根据用户所使用的浏览器进行设置,此处不做具体限定。此外,当存在新的用户需求时,需将新的用户需求中新的目标网页地址添加至预设配置文件。
本发明提供的一种基于浏览器扩展的数据抓取方法,在将当前网页地址与预设配置文件中的目标网页地址进行匹配之前,需从用户需求中获取所有目标网页地址,并将所有目标网页地址配置在预设配置文件中。有利于根据当前网页地址与预设配置文件中的目标网页地址的匹配结果确定是否进行目标数据的抓取,可有效确定目标数据的抓取时机。同时当存在新的用户需求时,可将新的目标网页地址添加至预设配置文件,有效提高了数据抓取的可扩展性。
基于上述任一实施例,提供一种基于浏览器扩展的数据抓取方法,从预设数据库中获取当前网页地址对应的预设规则,之前还包括:根据用户需求配置每个目标网页地址对应的预设规则,将每个目标网页地址与对应的预设规则关联存储在预设数据库中。
具体地,在从预设数据库中获取当前网页地址对应的预设规则之前,预设规则是预先编写并存储在预设数据库中的,且预设规则是结合用户需求中的目标网页地址进行编写的。若用户需求为抓取不同目标网页地址中的同一目标数据,鉴于不同的目标网页地址对应的目标网页结构并不相同,即不同的目标网页对应的DOM树并不相同,故而需要对不同的目标网页编写不同的预设规则,并将目标网页地址与对应的预设规则关联存储在预设数据库中。例如,若用户需求为抓取淘宝和京东中的订单号,在数据抓取过程中,虽然对淘宝网页和京东网页同样是进行DOM操作以抓取其中的订单号,但由于淘宝网页和京东网页的结构并不相同,所以针对淘宝网页和京东网页编写的预设规则也不相同。故而,可以将淘宝网页地址与对应的预设规则关联存储在预设数据库中,同时将京东网页地址与对应的预设规则关联存储在预设数据库中。
需要说明的是,本实施例中,将预设规则存储在预设数据库中,预设数据库设置在远程服务器端,即将预设规则存储在扩展插件之外。在此基础上,当存在新的用户需求时,仅需根据新的用户需求修改预设数据库中的预设规则即可,无需对扩展插件进行更新,避免由于扩展插件的更新导致用户需下载和安装更新后的扩展插件的繁琐操作,在支持数据抓取规则动态更新的同时,有效提高了用户体验。
本发明提供的一种基于浏览器扩展的数据抓取方法,在从预设数据库中获取当前网页地址对应的预设规则之前,需先根据用户需求配置每个目标网页地址对应的预设规则,将每个目标网页地址与对应的预设规则关联存储在预设数据库中,有利于根据不同网页地址对应的预设规则抓取不同网页中的目标数据。同时,通过将预设规则存储在扩展插件之外的预设数据库中,当存在新的用户需求时,仅需根据新的用户需求修改预设数据库中的预设规则即可,无需对扩展插件进行更新,避免由于扩展插件的更新导致用户需下载和安装更新后的扩展插件的繁琐操作,在支持数据抓取规则动态更新的同时,有效提高了用户体验。
基于上述任一实施例,提供一种基于浏览器扩展的数据抓取方法,从预设数据库中获取当前网页地址对应的预设规则,之前还包括:向当前网页发送数据抓取请求,以使得用户对数据抓取请求进行确认;相应地,当接收到用户的确认操作时,从预设数据库中获取当前网页地址对应的预设规则,根据预设规则从当前网页中抓取目标数据。
具体地,在实际应用中,当用户打开的某一网页的地址与预设配置文件中的目标网页地址匹配成功时,用户却可能并不希望从该网页中抓取数据。有鉴于此,本实施例中,从预设数据库中获取当前网页地址对应的预设规则之前,为了提高用户的参与度,需先向当前网页发送数据抓取请求,以使得用户对数据抓取请求进行确认,当接收到用户的确认操作时,再从预设数据库中获取当前网页地址对应的预设规则,根据预设规则从当前网页中抓取目标数据。
举例来说,当用户打开淘宝网页时,若预设配置文件中的目标网页地址中包含淘宝网址,则可确定当前网页地址与目标网页地址匹配成功。此时,向当前网页发送数据抓取请求,即在用户打开的淘宝网页上显示数据抓取请求。例如,可以在用户打开的淘宝网页上显示一条提示信息,提示用户是否在当前网页上进行数据抓取,并提供“是”和“否”两个按钮给用户选择,当用户点击按钮“是”时,则可接收到用户对数据抓取请求的确认操作。此后,再从预设数据库中获取淘宝网页地址对应的预设规则,最终根据预设规则从当前网页中抓取目标数据。
本发明提供的一种基于浏览器扩展的数据抓取方法,在从预设数据库中获取当前网页地址对应的预设规则之前,先向当前网页发送数据抓取请求,以使得用户对数据抓取请求进行确认;当接收到用户的确认操作时,从预设数据库中获取当前网页地址对应的预设规则,根据预设规则从当前网页中抓取目标数据。该方法结合用户的选择对当前网页进行数据抓取,提高了用户的参与度,并进一步提升了用户体验。
基于上述任一实施例,提供一种基于浏览器扩展的数据抓取方法,根据预设规则从当前网页中抓取目标数据,之后还包括:当接收到用户的页面跳转请求时,根据预设规则从当前网页的下一网页中抓取目标数据。
具体地,在实际应用中,用户打开的当前网页地址对应的网页往往不止一页,若当前网页地址对应的网页存在多页时,在根据预设规则从当前网页中抓取目标数据之后,用户可能还希望在当前网页的下一网页中同样执行抓取目标数据的操作。此时,用户可以点击当前网页上的页面跳转按钮,从而可接收到用户的页面跳转请求。在此基础上,同样根据当前网页地址对应的预设规则从当前网页的下一网页中抓取目标数据。即,对于同一网页地址下的不同网页,若其中某一网页完成了目标数据的抓取之后,当切换到其他网页时,则可直接利用相同的预设规则在切换后的网页中抓取目标数据,无需重复将网页地址与预设配置文件中的目标网页地址进行匹配,也无需重复在预设配置文件中获取对应的预设规则。
本发明提供的一种基于浏览器扩展的数据抓取方法,在根据预设规则从当前网页中抓取目标数据之后,当接收到用户的页面跳转请求时,根据预设规则从当前网页的下一网页中抓取目标数据,无需重复将网页地址与预设配置文件中的目标网页地址进行匹配,也无需重复在预设配置文件中获取对应的预设规则,有效提高了目标数据的抓取效率。
基于上述任一实施例,提供一种基于浏览器扩展的数据抓取方法,根据预设规则从当前网页中抓取目标数据,之后还包括:若达到预设时间间隔,则关闭当前网页。
具体地,当同一网页地址对应的网页存在多页时,需要依次打开每个网页,并抓取每个网页中的目标数据。若单个网页长时间地占用浏览器的资源,则无形中增加了浏览器的负担,进而会影响到目标数据的抓取效率。有鉴于此,本实施例中,在根据预设规则从当前网页中抓取目标数据之后,通过计时器开始计时,若达到预设间隔时间,则关闭当前网页,可以有效避免当前网页长时间地占用浏览器的资源。其中,预设间隔时间可以根据实际需求进行设置,此处不做具体限定。
本发明提供的一种基于浏览器扩展的数据抓取方法,在根据预设规则从当前网页中抓取目标数据之后,若达到预设时间间隔,则关闭当前网页,可以有效避免当前网页长时间地占用浏览器的资源,一定程度上减轻了浏览器的负担,有利于提高目标数据的抓取效率。
基于上述任一实施例,提供一种基于浏览器扩展的数据抓取方法,根据预设规则从当前网页中抓取目标数据,之后还包括:将目标数据发送给预设服务器,以使得预设服务器对目标数据进行整理并将目标数据中的重复数据进行删除。
具体地,在根据预设规则从当前网页中抓取目标数据之后,将目标数据发送给预设服务器,预设服务器再对目标数据进行整理,并存储在预设服务器的数据库中。目标数据在预设服务器的数据库中可以以表的形式进行存储,可以根据实际需求进行设置,此处不做具体限定。此外,预设服务器在获取到目标数据之后,还需将当前目标数据与已存储的目标数据进行比对,若已存储的目标数据中存在与当前目标数据重复的数据,则将目标数据进行删除,有效避免了预设服务器的数据库中数据的冗余现象。此后,用户可以直接从预设服务器中获取目标数据进行使用,无需用户对目标数据进行整理,目标数据的可靠性高。
本发明提供的一种基于浏览器扩展的数据抓取方法,在根据预设规则从当前网页中抓取目标数据之后,将目标数据发送给预设服务器,以使得预设服务器对目标数据进行整理并将目标数据中的重复数据进行删除。有效避免了预设服务器的数据库中数据的冗余现象,目标数据的可靠性高,便于用户对目标数据进行直接使用。
图2为本发明实施例的一种基于浏览器扩展的数据抓取系统的整体结构示意图,如图2所示,基于上述任一实施例,提供一种基于浏览器扩展的数据抓取系统,包括:
网址匹配模块1,用于获取浏览器中当前网页对应的当前网页地址,将当前网页地址与预设配置文件中的目标网页地址进行匹配,预设配置文件中包含至少一个目标网页地址;
具体地,当用户需要在某个特定网页上抓取特定数据时,需先将用户提供的特定网页的网页地址作为目标网页地址预先配置在预设配置文件中,其中预设配置文件中可以包含多个目标网页地址。在此基础上,若用户在某一时刻打开浏览器并运行某一网页时,则利用网址匹配模块1获取浏览器运行的当前网页对应的网址,将该网址作为当前网页地址。此后,从预设配置文件中请求获取所有的目标网页地址,将当前网页地址与目标网页地址进行匹配,若存在一个目标网页地址与当前网页地址相同,则可确定当前网页地址与目标网页地址匹配成功。
需要说明的是,本实施例中的基于浏览器扩展的数据抓取系统是设置在浏览器的扩展插件中的,该扩展插件可以基于javascript脚本语言进行编码实现。上述预设配置文件可以直接在该扩展插件中编写并存储在扩展插件中,同时可将目标网页地址配置在预设配置文件中。此外,目标网页地址还可以单独存储在服务器端,若目标网页地址存储在服务器端,则可利用ajax技术从服务器端获取目标网页地址。
数据抓取模块2,用于当匹配成功时,从预设数据库中获取当前网页地址对应的预设规则,根据预设规则从当前网页中抓取目标数据。
具体地,若当前网页地址与目标网页地址匹配成功,则利用数据抓取模块2从预设数据库中获取当前网页地址对应的预设规则。其中,预设数据库中预先存储了每个目标网页地址对应的预设规则,且预设数据库设置在服务器端。在此基础上,当需要从预设数据库中获取与当前网页地址对应的预设规则时,则可以通过数据抓取模块2利用ajax技术从服务器端请求获取预设数据库中与当前网页地址对应的预设规则。最终,可以通过数据抓取模块2利用jQuery解析当前网页,形成当前网页对应的DOM树,再根据预设规则对当前网页进行DOM操作,以抓取当前网页中的目标数据。
需要说明的是,利用本实施例的基于浏览器扩展的数据抓取系统进行数据抓取时,当存在新的用户需求时,仅需将新的目标网页地址添加至预设配置文件并根据用户需求重新编写预设规则即可,可扩展性较强。同时,现有的网络爬虫系统往往由于请求被抓取对象太频繁而导致被屏蔽,而本实施例的基于浏览器扩展的数据抓取系统由于是从浏览器解析的网页中提取目标数据,所有对方服务器无法通过user-agent等浏览器信息来屏蔽,也不能通过URL中的验证参数来屏蔽请求,可以有效规避对方服务器的反爬虫策略。
本发明提供的一种基于浏览器扩展的数据抓取系统,获取浏览器中当前网页对应的当前网页地址,将当前网页地址与预设配置文件中的目标网页地址进行匹配,其中预设配置文件中包含至少一个目标网页地址;当匹配成功时,从预设数据库中获取当前网页地址对应的预设规则,根据预设规则从当前网页中抓取目标数据。该系统将数据抓取过程中包含的网页下载和数据解析的任务交由浏览器实现,从而无需模拟浏览器,仅需利用浏览器可扩展的特性开发浏览器扩展插件,利用浏览器扩展插件从浏览器解析好的页面中提取目标数据,降低了整体开发难度;同时当存在新的用户需求时,仅需将新的目标网页地址添加至预设配置文件并根据用户需求重新编写预设规则即可,可扩展性较强;此外对于普通用户来说,仅需安装和操作浏览器的扩展插件即可,是一种类似于“所见即所得”的体验,有效提高了用户使用友好度。
图3示出本申请实施例的基于浏览器扩展的数据抓取方法的设备的结构框图。参照图3,所述基于浏览器扩展的数据抓取方法的设备,包括:处理器(processor)31、存储器(memory)32和总线33;其中,所述处理器31和存储器32通过所述总线33完成相互间的通信;所述处理器31用于调用所述存储器32中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取浏览器中当前网页对应的当前网页地址,将当前网页地址与预设配置文件中的目标网页地址进行匹配,预设配置文件中包含至少一个目标网页地址;当匹配成功时,从预设数据库中获取当前网页地址对应的预设规则,根据预设规则从当前网页中抓取目标数据。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取浏览器中当前网页对应的当前网页地址,将当前网页地址与预设配置文件中的目标网页地址进行匹配,预设配置文件中包含至少一个目标网页地址;当匹配成功时,从预设数据库中获取当前网页地址对应的预设规则,根据预设规则从当前网页中抓取目标数据。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取浏览器中当前网页对应的当前网页地址,将当前网页地址与预设配置文件中的目标网页地址进行匹配,预设配置文件中包含至少一个目标网页地址;当匹配成功时,从预设数据库中获取当前网页地址对应的预设规则,根据预设规则从当前网页中抓取目标数据。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的基于浏览器扩展的数据抓取方法的设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于浏览器扩展的数据抓取方法,其特征在于,包括:
获取浏览器中当前网页对应的当前网页地址,将所述当前网页地址与预设配置文件中的目标网页地址进行匹配,所述预设配置文件中包含至少一个目标网页地址;
当匹配成功时,从预设数据库中获取所述当前网页地址对应的预设规则,根据所述预设规则从所述当前网页中抓取目标数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述当前网页地址与预设配置文件中的目标网页地址进行匹配,之前还包括:
根据用户需求获取所有所述目标网页地址,将所有所述目标网页地址配置在所述预设配置文件中。
3.根据权利要求1所述的方法,其特征在于,所述从预设数据库中获取所述当前网页地址对应的预设规则,之前还包括:
根据用户需求配置每个所述目标网页地址对应的预设规则,将每个所述目标网页地址与对应的预设规则关联存储在所述预设数据库中。
4.根据权利要求1所述的方法,其特征在于,所述从预设数据库中获取所述当前网页地址对应的预设规则,之前还包括:
向所述当前网页发送数据抓取请求,以使得用户对所述数据抓取请求进行确认;
相应地,当接收到用户的确认操作时,从预设数据库中获取所述当前网页地址对应的预设规则,根据所述预设规则从所述当前网页中抓取目标数据。
5.根据权利要求1所述的方法,其特征在于,所述根据所述预设规则从所述当前网页中抓取目标数据,之后还包括:
当接收到用户的页面跳转请求时,根据所述预设规则从所述当前网页的下一网页中抓取所述目标数据。
6.根据权利要求1所述的方法,其特征在于,所述根据所述预设规则从所述当前网页中抓取目标数据,之后还包括:
若达到预设时间间隔,则关闭所述当前网页。
7.根据权利要求1所述的方法,其特征在于,所述根据所述预设规则从所述当前网页中抓取目标数据,之后还包括:
将所述目标数据发送给预设服务器,以使得所述预设服务器对所述目标数据进行整理并将所述目标数据中的重复数据进行删除。
8.一种基于浏览器扩展的数据抓取系统,其特征在于,包括:
网址匹配模块,用于获取浏览器中当前网页对应的当前网页地址,将所述当前网页地址与预设配置文件中的目标网页地址进行匹配,所述预设配置文件中包含至少一个目标网页地址;
数据抓取模块,用于当匹配成功时,从预设数据库中获取所述当前网页地址对应的预设规则,根据所述预设规则从所述当前网页中抓取目标数据。
9.一种基于浏览器扩展的数据抓取方法的设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810495217.2A CN108932285A (zh) | 2018-05-22 | 2018-05-22 | 一种基于浏览器扩展的数据抓取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810495217.2A CN108932285A (zh) | 2018-05-22 | 2018-05-22 | 一种基于浏览器扩展的数据抓取方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108932285A true CN108932285A (zh) | 2018-12-04 |
Family
ID=64449265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810495217.2A Pending CN108932285A (zh) | 2018-05-22 | 2018-05-22 | 一种基于浏览器扩展的数据抓取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108932285A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614539A (zh) * | 2019-01-16 | 2019-04-12 | 重庆金融资产交易所有限责任公司 | 数据抓取方法、装置及计算机可读存储介质 |
CN109670100A (zh) * | 2018-12-21 | 2019-04-23 | 第四范式(北京)技术有限公司 | 一种页面数据抓取方法及装置 |
CN109743233A (zh) * | 2019-02-19 | 2019-05-10 | 南威软件股份有限公司 | 一种对强身份认证系统进行数据采集的方法及计算机设备 |
CN110222253A (zh) * | 2019-06-12 | 2019-09-10 | 北京睦合达信息技术股份有限公司 | 一种数据采集方法、设备及计算机可读存储介质 |
CN112800311A (zh) * | 2021-02-05 | 2021-05-14 | 厦门市美亚柏科信息股份有限公司 | 一种浏览器页面数据采集方法、终端设备及存储介质 |
CN113076291A (zh) * | 2021-04-27 | 2021-07-06 | 杭州安恒信息技术股份有限公司 | 一种文件定位方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955818A (zh) * | 2016-04-15 | 2016-09-21 | 奇酷软件(深圳)有限公司 | 提醒方法、提醒装置和终端 |
CN107329969A (zh) * | 2017-05-23 | 2017-11-07 | 合肥智权信息科技有限公司 | 一种基于多次校验的数据信息更新系统和方法 |
CN107622125A (zh) * | 2017-09-29 | 2018-01-23 | 联想(北京)有限公司 | 一种信息爬取方法和装置、电子设备 |
-
2018
- 2018-05-22 CN CN201810495217.2A patent/CN108932285A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955818A (zh) * | 2016-04-15 | 2016-09-21 | 奇酷软件(深圳)有限公司 | 提醒方法、提醒装置和终端 |
CN107329969A (zh) * | 2017-05-23 | 2017-11-07 | 合肥智权信息科技有限公司 | 一种基于多次校验的数据信息更新系统和方法 |
CN107622125A (zh) * | 2017-09-29 | 2018-01-23 | 联想(北京)有限公司 | 一种信息爬取方法和装置、电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109670100A (zh) * | 2018-12-21 | 2019-04-23 | 第四范式(北京)技术有限公司 | 一种页面数据抓取方法及装置 |
CN109614539A (zh) * | 2019-01-16 | 2019-04-12 | 重庆金融资产交易所有限责任公司 | 数据抓取方法、装置及计算机可读存储介质 |
CN109743233A (zh) * | 2019-02-19 | 2019-05-10 | 南威软件股份有限公司 | 一种对强身份认证系统进行数据采集的方法及计算机设备 |
CN110222253A (zh) * | 2019-06-12 | 2019-09-10 | 北京睦合达信息技术股份有限公司 | 一种数据采集方法、设备及计算机可读存储介质 |
CN112800311A (zh) * | 2021-02-05 | 2021-05-14 | 厦门市美亚柏科信息股份有限公司 | 一种浏览器页面数据采集方法、终端设备及存储介质 |
CN113076291A (zh) * | 2021-04-27 | 2021-07-06 | 杭州安恒信息技术股份有限公司 | 一种文件定位方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108932285A (zh) | 一种基于浏览器扩展的数据抓取方法及系统 | |
CN103440139A (zh) | 一种面向主流微博网站微博id的采集方法及工具 | |
CN104468774B (zh) | 应用于云盘客户端的数据展示方法及云盘客户端 | |
CN106599270B (zh) | 网络数据抓取方法和爬虫 | |
CN104601672B (zh) | 基于不同应用客户端的分享网络资源的方法和装置 | |
CN107545058B (zh) | 一种页面加载方法、服务器及浏览器 | |
WO2013078830A1 (zh) | 一种处理移动终端的页面访问请求的方法、设备与系统 | |
CN110489676A (zh) | 基于区块链的网页取证方法、装置、存储介质及服务器 | |
WO2019205374A1 (zh) | 模型的在线训练方法、服务器及存储介质 | |
CN108021604A (zh) | 一种爬取斗鱼直播网站主播房间里弹幕的网络爬虫方法 | |
WO2018133772A1 (zh) | 网页资源的获取方法和装置、存储介质、电子装置 | |
CN108334619A (zh) | 一种数据采集方法、装置、计算设备及存储介质 | |
CN105095407A (zh) | 一种应用程序内容实时搜索方法及系统 | |
CN109086451A (zh) | 一种图片存储与检索方法与装置 | |
CN103312692B (zh) | 链接地址安全性检测方法及装置 | |
WO2015003664A1 (zh) | 一种下载处理方法、装置、服务器及客户端设备 | |
CN105516337B (zh) | 基于动态加载机制的web站点对接解析方法 | |
CN104063475B (zh) | 用户自定义列表处理方法和装置 | |
CN103458065A (zh) | 一种HTML5标准下基于Webkit内核的视频地址提取方法 | |
CN110083755A (zh) | 一种高仿真解析网页方法、装置和电子设备 | |
CN101184002A (zh) | 一种点对点流量深度监测方法和设备 | |
WO2012119496A1 (zh) | 预读方法和装置 | |
CN110472126A (zh) | 一种页面数据的获取方法、装置和设备 | |
KR101184809B1 (ko) | 웹 페이지를 제공하는 방법 및 서버 | |
CN107770377A (zh) | 一种基于html5的创建语音交互手机新闻客户端的方法 |
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: 20181204 |