掌桥专利:专业的专利平台
掌桥专利
首页

基于浏览器的网页数据获取方法及相关设备

文献发布时间:2023-06-19 19:18:24


基于浏览器的网页数据获取方法及相关设备

技术领域

本发明属于互联网技术领域,尤其涉及基于浏览器的网页数据获取方法及相关设备。

背景技术

如图1所示,在单向为用户提供爬取服务方面,目前的同类技术主要通过服务端架设HTTP通道模拟用户行为爬取目标网页信息,再将爬取到的信息返回到客户端,通常这样的爬取流程,可能导致该服务端IP被目标网站封禁,导致无法爬取的问题,在解决这块问题的时候,大多数的处理方案是为该服务提供大量的IP来应对,但这种方式相应的增加开发成本,以及服务器成本。同时这种方式还存在耗时长,数据回调不稳定等较多因素。

发明内容

本发明实施例提供一种基于浏览器的网页数据获取方法及相关设备,旨在解决现上述技术问题。

第一方面,本发明实施例提供一种基于浏览器的网页数据获取方法,包括步骤:

基于预设的浏览器访问目标网页,其中,所述预设的浏览器已注入了预设的页面脚本;

基于所述的预设的页面脚本,向浏览器服务器发起针对所述目标网页的数据请求,通过所述浏览器服务器向所述目标站点请求站点数据;

获取所述浏览器服务器返回的站点数据。

优选的,所述向浏览器服务器发起针对所述目标网页的数据请求的步骤前,还包括:

校验所述目标网页的匹配正则,判断所述目标网页的平台分类;

根据所述平台分类,对所述目标网页进行数据解析,读取网页数据。

优选的,所述校验所述目标网页的匹配正则,判断所述目标网页的平台分类包括:

基于所述匹配正则,判断所述目标网页是否为Shopify站点;

若所述目标网页为Shopify站点,则基于对应的数据解析方法进行数据解析。

优选的,所述校验所述目标网页的匹配正则,判断所述目标网页的平台分类包括:

基于所述匹配正则,判断所述目标网页是否为ShopLine站点;

若所述目标网页为ShopLine站点,则基于对应的数据解析方法进行数据解析。

优选的,所述校验所述目标网页的匹配正则,判断所述目标网页的平台分类包括:

基于所述匹配正则,判断所述目标网页是否为ShopLazza站点;

若所述目标网页为ShopLazza站点,则基于对应的数据解析方法进行数据解析。

优选的,所述方法还包括步骤:

对所述浏览器服务器返回的站点数据进行数据处理,提取目标数据。

优选的,所述方法还包括步骤:

对所述目标数据进行流量分析。

第二方面,提供一种基于浏览器的网页数据获取装置,包括:

页面访问模块,用于基于预设的浏览器访问目标网页,其中,所述预设的浏览器已注入了预设的页面脚本;

数据请求模块,用于基于所述的预设的页面脚本,向浏览器服务器发起针对所述目标网页的数据请求,通过所述浏览器服务器向所述目标站点请求站点数据;

数据返回模块,用于获取所述浏览器服务器返回的站点数据。

第三方面,本发明实施例还提供一种计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上任一项所述的基于浏览器的网页数据获取方法中的步骤。

第四方面,一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的基于浏览器的网页数据获取方法中的步骤。

本发明实施例中,数据请求和获取是基于浏览器的插件能力(以Chrome浏览器为例),无服务器成本,同时可规避爬取过程中IP限制的问题,用户通过浏览器添加页面程序(插件),既可爬取目标网站信息,由于是浏览器插件,所有的网络请求都通过用户访问的站点本身以及Chrome Server worker(服务器工作程序)发起,即插即用稳定可靠。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是现有一种数据获取方法的流程图;

图2是本发明实施例一提供的流程图;

图3是本发明实施例一提供的关于脚本注入、数据获取的流程图;

图4是本发明提供的另一实施例二的流程图;

图5是本发明提供的另一实施例三的流程图;

图6是本发明提供的数据获取装置的结构示意图;

图7是本发明提供的一种计算机设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

如图2所示,图2为本发明实施例提供的一种基于浏览器的网页数据获取方法的流程图,该方法包括步骤:

S101、基于预设的浏览器访问目标网页,其中,所述预设的浏览器已注入了预设的页面脚本(插件)。

在本发明实施例中,以Chrome浏览器为例进行说明,Chrome浏览器支持多种插件的注入,通过插件的注入实现插件程序的运行,以实现所需要的功能。当然,其它具备插件功能的浏览器也适用于本发明实施例的技术方案。本实施例中,页面脚本以插件的方式注入到浏览器中,通过Chrome浏览器实现对目标网站的数据获取、解析、读取、分析等功能。并依据分析结果,为浏览器客户端的用户提供所需要的数据结果。

如图3所示,Chrome浏览器的注入方式是通过页面脚本的方式进行注入,注入后的页面脚本会建立socket监听访问,并实现dom的注入操作。

S102、基于所述的预设的页面脚本,向浏览器服务器发起针对所述目标网页的数据请求,通过所述浏览器服务器向所述目标站点请求站点数据。

在本发明实施例中,如图3所示,本实施例中,页面脚本执行的用户端向浏览器服务器发起针对目标网页的数据请求,是通过浏览器服务器发起向目标站点的数据请求,不是用户端直接发起的数据请求,基于Chrome的插件能力,配置host_promission设置跨域站点权限,通过sendMessage(发送信息)向Chrome Server worker(浏览器服务器工作程序)发起数据请求,Server worker(浏览器服务器工作程序)向目标站点请求站点数据,经过数据处理返回前端(即用户端)。

S103、获取所述浏览器服务器返回的站点数据。

在本发明实施例中,由于数据请求是通过浏览器服务器发出的,因此,目标站点的数据返回是先返回至浏览器服务器,并通过浏览器服务器返回至用户端。

上述商城页面可以是将配置好的前端页面部署到对应的网站或店铺中得到。

本发明实施例中,数据请求和获取是基于浏览器的插件能力(以Chrome浏览器为例),无服务器成本,同时可规避爬取过程中IP限制的问题,用户通过浏览器添加页面程序(插件),既可爬取目标网站信息,由于是浏览器插件,所有的网络请求都通过用户访问的站点本身以及Chrome Server worker(服务器工作程序)发起,即插即用稳定可靠。

如图4所示,图4是本发明另一实施例的流程图,本实施例基于上述实施例的进一步改进,在本实施例中,在上述实施例的步骤S102之前还包括以下步骤:

S201、校验所述目标网页的匹配正则,判断所述目标网页的平台分类。

在本发明实施列中,由于不同目标网页的平台类型不同,因此,相应的数据解析方式不同,为了实现对目标网页的数据解析、数据读取以及分析,需对不同平台进行规则匹配,在访问目标网页时,会先通过匹配正则判断出目标网页的类型。

S202、根据所述平台分类,对所述目标网页进行数据解析,读取网页数据。

在本发明实施例中,以shopify为例,基于匹配正则匹配到的平台类型,通过预设的数据解析程序对数据进行解析,并进行文档处理,提取出有用的目标数据,以供后续进行相应的分析过程。

以ShopLine为例,基于匹配正则匹配到的平台类型,通过预设的数据解析程序对数据进行解析,并进行文档处理,提取出有用的目标数据,以供后续进行相应的分析过程。

以ShopLazza为例,基于匹配正则匹配到的平台类型,通过预设的数据解析程序对数据进行解析,并进行文档处理,提取出有用的目标数据,以供后续进行相应的分析过程。

以上是针对电商类平台的数据获取、解析、处理等,当然,对于其它的平台(非电商类),本实施例的技术方案同样也适用。

如图5所示,图5是本发明另一实施例的流程图,在本实施例中,在步骤S202之后还包括以下步骤:

S301、对所述浏览器服务器返回的站点数据进行数据处理,提取目标数据。

在本发明实施例中,对数据进行数据处理是通过document进行处理,并提取出所需的目标数据。

S302、对所述目标数据进行流量分析。

在本发明实施例中,通过similarweb进行流量分析。

本发明实施例还提供一种基于浏览器的网页数据获取装置,如图6所示,图6是本发明实施例提供的基于浏览器的网页数据获取装置的结构示意图,所述基于浏览器的网页数据获取装置600包括:

页面访问模块601,用于基于预设的浏览器访问目标网页,其中,所述预设的浏览器已注入了预设的页面脚本;

数据请求模块602,用于基于所述的预设的页面脚本,向浏览器服务器发起针对所述目标网页的数据请求,通过所述浏览器服务器向所述目标站点请求站点数据;

数据返回模块603,用于获取所述浏览器服务器返回的站点数据。

进一步的,该装置还包括:

校验模块,用于校验所述目标网页的匹配正则,判断所述目标网页的平台分类;

数据解析模块,用于根据所述平台分类,对所述目标网页进行数据解析,读取网页数据。

进一步的,所述校验模块包括:

第一校验单元,用于基于所述匹配正则,判断所述目标网页是否为Shopify站点;

若所述目标网页为Shopify站点,则基于对应的数据解析方法进行数据解析。

进一步的,所述校验模块包括:

第二校验单元,用于基于所述匹配正则,判断所述目标网页是否为ShopLine站点;

若所述目标网页为ShopLine站点,则基于对应的数据解析方法进行数据解析。

进一步的,所述校验模块包括:

第二校验单元,用于基于所述匹配正则,判断所述目标网页是否为ShopLazza站点;

若所述目标网页为ShopLazza站点,则基于对应的数据解析方法进行数据解析。

进一步的,该装置还包括:

数据处理模块,用于对所述浏览器服务器返回的站点数据进行数据处理,提取目标数据。

进一步的,该装置还包括:

流量分析模块,用于对所述目标数据进行流量分析。

本发明实施例还提供一种计算机设备,如图7所示,图7是本发明实施例提供的一种计算机设备的结构示意图,该电子设备700包括:存储器702、处理器701、网络接口703及存储在存储器702上并可在处理器701上运行的计算机程序,处理器701执行计算机程序时实现如本发明实施例提供的基于浏览器的网页数据获取方法中的步骤。

具体的,处理器701用于执行以下步骤:

基于预设的浏览器访问目标网页,其中,所述预设的浏览器已注入了预设的页面脚本;

基于所述的预设的页面脚本,向浏览器服务器发起针对所述目标网页的数据请求,通过所述浏览器服务器向所述目标站点请求站点数据;

获取所述浏览器服务器返回的站点数据。

优选的,所述向浏览器服务器发起针对所述目标网页的数据请求的步骤前,还包括:

校验所述目标网页的匹配正则,判断所述目标网页的平台分类;

根据所述平台分类,对所述目标网页进行数据解析,读取网页数据。

优选的,所述校验所述目标网页的匹配正则,判断所述目标网页的平台分类包括:

基于所述匹配正则,判断所述目标网页是否为Shopify站点;

若所述目标网页为Shopify站点,则基于对应的数据解析方法进行数据解析。

优选的,所述校验所述目标网页的匹配正则,判断所述目标网页的平台分类包括:

基于所述匹配正则,判断所述目标网页是否为ShopLine站点;

若所述目标网页为ShopLine站点,则基于对应的数据解析方法进行数据解析。

优选的,所述校验所述目标网页的匹配正则,判断所述目标网页的平台分类包括:

基于所述匹配正则,判断所述目标网页是否为ShopLazza站点;

若所述目标网页为ShopLazza站点,则基于对应的数据解析方法进行数据解析。

优选的,所述方法还包括步骤:

对所述浏览器服务器返回的站点数据进行数据处理,提取目标数据。

优选的,所述方法还包括步骤:

对所述目标数据进行流量分析。

本发明实施例提供的计算机设备700能够实现基于浏览器的网页数据方法的实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。

需要指出的是,图中仅示出了具有组件的701-703,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备700是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。

计算机设备700可以是桌上型计算机、笔记本及掌上电脑等计算设备。电子设备700可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

存储器702至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器702可以是电子设备700的内部存储单元,例如该电子设备700的硬盘或内存。在另一些实施例中,存储器702也可以是电子设备700的外部存储设备,例如该电子设备700上配备的插接式硬盘,智能存储卡(SmartMedia Card,简称SMC),安全数字(Secure Digital,简称SD)卡,闪存卡(Flash Card)等。当然,存储器702还可以既包括电子设备700的内部存储单元也包括其外部存储设备。本实施例中,存储器702通常用于存储安装于电子设备700的操作系统和各类应用软件,例如基于浏览器的网页数据获取方法的程序代码等。此外,存储器702还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器701在一些实施例中可以是中央处理器(Central Processing Unit,简称CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器701通常用于控制电子设备700的总体操作。本实施例中,处理器701用于运行存储器702中存储的程序代码或者处理数据,例如运行基于浏览器的网页数据方法的程序代码。

网络接口703可包括无线网络接口或有线网络接口,该网络接口703通常用于在电子设备700与其他电子设备之间建立通信连接。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程5序,计算机程序被处理器701执行时实现实施例提供的基于浏览器的网页数据方法中的各个

过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本领域普通技术人员可以理解实现实施例基于浏览器的网页数据获取方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一计算机可读取

存储介质中,该程序在执行时,可包括如各方法的实施例的流程。其中,存储介质可为磁碟、0光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(RandomAccess Memory,

简称RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

相关技术
  • 一种基于无界面浏览器和可配置代理拦截的网页抓取系统及抓取方法
  • 一种基于浏览器内核的网页转码方法
  • 一种数据获取方法及其相关设备
  • 环保法律法规数据获取方法、系统和相关设备
  • 一种基于谷歌浏览器插件的网页数据获取方法及系统
  • 浏览器插件与浏览器的网页脚本交互方法及相关设备
技术分类

06120115863372