数据采集方法、装置、计算机设备及系统与流程

文档序号:16533267发布日期:2019-01-05 10:57阅读:172来源:国知局
数据采集方法、装置、计算机设备及系统与流程

本发明实施例涉及计算机领域,特别涉及一种数据采集方法、装置、计算机设备及系统。



背景技术:

随着网络信息技术的发展,网站、论坛、博客等包括的网页数据越来越多,为了从网页中筛选出有效数据,终端通常需要按照一定的规则,对网页进行数据采集,将这些数据发送至服务器,由服务器对这些数据进行分析处理,从而得到分类后的数据。

在一种典型的数据采集方法中,终端通过网络爬虫方法采集网页信息。该网络爬虫方法,包括:终端通过网络爬虫根据预设的爬取任务,每隔预设时长向web服务器发送网页获取请求(http请求),web服务器根据该网页获取请求向终端发送该网页的网页数据,网络爬虫对该网页数据进行采集。其中,网络爬虫是一种自动获取网页内容的程序,该网络爬虫具有模拟浏览器运行的功能。

由于一些网站制定了反爬虫策略,比如:web服务器获取网页获取请求中携带的终端的ip(internetprotocol,ip)地址,检测该ip的访问轨迹是否符合以下规则中的至少一种:(1)访问网页的间隔时长固定;(2)一天之内的总访问量大于预设数值;对于符合上述至少一种规则的ip,禁止该ip地址再次访问该网站。若终端需要通过网络爬虫长期采集某一网站的网页信息,需要预先设置较多的ip地址来避免其中一个ip地址被网站禁止使用的问题,提高了终端采集网页信息的复杂度。



技术实现要素:

为了解决在一个终端中设置多个ip地址来采集网页中的数据,导致终端采集该数据的复杂度较高的问题,本发明实施例提供了一种数据采集方法、装置、计算机设备及系统。所述技术方案如下:

第一方面,提供了一种数据采集方法,应用于安装有浏览器和管理客户端的终端中,所述方法包括:

所述浏览器根据入口标签获取第一脚本,所述入口标签由所述管理客户端在所述浏览器显示网页的过程中添加至所述网页中,所述入口标签用于触发所述浏览器从服务器获取第一脚本;

所述浏览器在运行所述第一脚本时,从所述服务器获取所述网页对应的第二脚本,所述第一脚本是用于提供所述第二脚本的运行环境的脚本,所述第二脚本是用于对所述网页进行数据采集的脚本;

所述浏览器在运行所述第二脚本时,对所述网页进行数据采集。

第二方面,提供了一种数据采集方法,所述方法包括:

向至少一个终端发送第一脚本,所述第一脚本是所述终端中的浏览器在显示网页的过程中,通过运行管理客户端在所述网页中添加的入口标签时请求的;

向所述终端发送第二脚本,所述第二脚本是所述浏览器运行所述第一脚本时请求的,所述第一脚本是用于提供所述第二脚本的运行环境的脚本,所述第二脚本是用于对所述网页进行数据采集的脚本;

接收所述第二脚本采集到的所述网页的数据。

第三方面,提供了一种数据采集装置,应用于安装有管理客户端的终端中,所述装置包括:

第一获取模块,用于根据所述入口标签获取所述第一脚本,所述入口标签是在显示网页的过程中由所述管理客户端添加至所述网页中的标签,所述入口标签用于触发从服务器获取第一脚本;

第二获取模块,用于在运行所述第一获取模块获取到的所述第一脚本时,从所述服务器获取所述网页对应的第二脚本,所述第一脚本是用于提供所述第二脚本的运行环境的脚本,所述第二脚本是用于对所述网页进行数据采集的脚本;

数据采集模块,用于在运行所述第二获取模块获取到的所述第二脚本时,对所述网页进行数据采集。

第四方面,提供了一种数据采集装置,所述装置包括:

第一发送模块,用于向至少一个终端发送第一脚本,所述第一脚本是所述终端中的浏览器在显示网页的过程中,通过运行管理客户端在所述网页中添加的入口标签时请求的;

第二发送模块,用于向所述终端发送第二脚本,所述第二脚本是所述浏览器运行所述第一脚本时请求的,所述第一脚本是用于提供所述第二脚本的运行环境的脚本,所述第二脚本是用于对所述网页进行数据采集的脚本;

获取模块,用于获取所述第二脚本采集到的所述网页的数据。

第五方面,提供了一种计算机设备,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现第一方面提供的数据采集方法或第二方面提供的数据采集方法。

第六方面,提供了一种数据采集系统,所述数据采集系统包括终端和服务器,

所述终端包括第三方面提供的数据采集装置;

所述服务器包括第四方面提供的数据采集装置。

第七方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现第一方面提供的数据采集方法或第二方面提供的数据采集方法。

本发明实施例提供的技术方案带来的有益效果包括:

通过在浏览器显示网页的过程中,通过管理客户端在该网页中添加入口表亲,从而触发浏览器获取第一脚本和第二脚本,使得管理客户端能够根据用户访问网页的行为,触发浏览客户端通过第二脚本采集该网页中的数据;解决了在通过一个终端中的网络爬虫采集数据时,需要为该终端设置较多的ip地址来避免其中一个ip地址被禁止使用,导致的采集数据的复杂程度较高的问题;由于用户访问网页的行为通常是不规律的,且每个用户在一天内访问同一网站的次数不会太高,因此,网站通常不会禁止用户使用的终端对应的ip地址;另外,即使网站禁止了用户使用的终端对应的ip地址,还可以通过其它用户访问网页的行为来获取网页中的数据,无需在同一终端中设置多个ip地址来采集数据,降低了终端采集数据的复杂程度。

附图说明

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

图1是本发明一个实施例提供的数据采集系统的结构示意图;

图2a是本发明一个实施例提供的数据采集方法的流程图;

图2b是本发明一个实施例提供的终端显示数据的示意图;

图2c是本发明一个实施例提供的终端显示数据的示意图;

图2d是本发明一个实施例提供的终端显示数据的示意图;

图3是本发明另一个实施例提供的终端确定是否下发第一脚本的示意图;

图4是本发明一个实施例提供的数据采集装置的框图;

图5是本发明一个实施例提供的数据采集装置的框图;

图6是本发明一个实施例提供的终端的结构示意图;

图7是本发明一个实施例提供的服务器的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

首先,对本发明实施例涉及的若干个名词进行介绍。

浏览器:用于向服务器请求并显示网页。可选地,浏览器可以仅包括请求并显示网页的功能;或者,浏览器既包括请求并显示网页的功能,还包括其它功能,比如:即时通信功能、在线支付功能。所有具有请求并显示网页功能的客户端均属于本发明实施例中的浏览器。

管理客户端:用于监控浏览器请求的网页。管理客户端监控网页时,能够获取该网页的网页标识。

可选地,管理客户端还能够根据网页标识,检测对应的网页是否存在恶意程序。

可选地,网页标识为网页地址(或称,统一资源定位符(uniformresourcelocator,url));或者,网页标识为网页的域名,比如:xxx.com;xxx.cn等。

可选地,管理客户端获取地址标识。地址标识可以为网际协议地址(internetprotocoladdress,ip地址),也可以为终端所处的地理位置的标识,本实施例对此不作限定。

第二脚本:用于在浏览器显示网页的过程中,对该网页进行数据采集。可选地,第二脚本是开发者针对不同的网页预先配置的,即,每个网页对应至少一个第二脚本,每个第二脚本采集对应一种类型的数据。

比如:某购物网站包括整点抢购页面和天天特价页面,整点抢购页面对应第二脚本a和第二脚本b,天天特价页面对应第二脚本c。其中,第二脚本a用于采集整点抢购页面中库存数量大于预设数量的物品对应的数据;第二脚本b用于采集整点抢购页面中价格低于预设价格的物品对应的数据。第二脚本c用于采集天天特价页面中价格低于预设价格的物品对应的数据。

可选地,本发明实施例中,第二脚本为js文件。js文件是指以javascript脚本语言编写的一种格式文件,通常需要配合html、php、java中的至少一种语言使用。js文件用于web领域,一般不能直接打开,需要通过运行网页才能使用。

第一脚本:用于在浏览器显示网页的过程中为第二脚本提供运行环境。终端通过运行第一脚本可以控制第二脚本的加载和运行。若浏览器需要运行第二脚本,则浏览器需要在网页中预先嵌入该第一脚本,通过第一脚本才能使得浏览器运行该第二脚本。换句话说,该第一脚本提供了浏览器运行第二脚本的入口。

可选地,本发明实施例中,第一脚本为main.js文件。

可选地,不同的网页对应同一个main.js文件,换句话说,main.js文件是通用的。

下面对本发明实施例的应用场景进行介绍。

请参考图1,其示出了本发明一个实施例提供的数据采集系统的结构示意图。该系统包括至少一个终端110和服务器120。

终端110可以是手机、平板电脑、可穿戴式设备、膝上型便携计算机和台式计算机等,本实施例对此不作限定。

终端110中安装有浏览器111和管理客户端112。终端110通过无线网络方式或者有线网络方式与服务器120建立通信连接。

管理客户端112通过终端110与服务器120之间的通信连接向服务器120发送第一文件地址请求,相应地,服务器120根据该第一文件地址请求向终端110发送第一脚本的文件地址,管理客户端112获取该第一脚本的文件地址,将该第一脚本的文件地址添加至浏览器111当前显示的网页的页面代码中。

浏览器111在执行当前网页的页面代码的过程中,检测到第一脚本的文件地址,向服务器120发送第一文件获取请求,相应地,服务器120根据该第一文件获取请求向终端110发送第一脚本,浏览器111获取该第一脚本。

由于服务器120先将第一脚本的文件地址发送给管理客户端112,再向浏览器111发送第一脚本,使得服务器120可以在下发第一脚本结束后,更改第一脚本的存储路径(文件地址),此时,浏览器111在下次请求该第一脚本时,也能根据服务器120发送的修改后的存储路径获取到第一脚本,提高了服务器120存储第一脚本的灵活性。

可选地,浏览器111通过终端110与服务器120之间的通信连接向服务器120发送第二文件地址请求,相应地,服务器120根据该第二文件地址请求向终端110发送第二脚本的文件地址。浏览器111中的第一脚本获取第二脚本的文件地址。

浏览器111通过第一脚本检测到第二脚本的文件地址,向服务器120发送第二文件获取请求,相应地,服务器120根据该第二文件获取请求向终端110发送第二脚本,浏览器111中的第一脚本获取该第二脚本。

由于服务器120先将第二脚本的文件地址发送给浏览器111中的第一脚本,再向第一脚本发送第二脚本,使得服务器120可以在下发第二脚本结束后,更改第二脚本的存储路径(文件地址),此时,浏览器111在下次请求该第二脚本时,也能根据服务器120发送的修改后的存储路径获取到第二脚本,提高了服务器120存储第二脚本的灵活性。

浏览器111通过第一脚本运行第二脚本采集当前显示的网页中的数据,并将该数据发送至服务器120。

可选地,第二脚本是浏览器111当前显示的网页对应的js文件,且该第二脚本用于采集预定类型的数据。

可选地,浏览器111和管理客户端112可以为相互独立的应用程序,也可以为同一个应用程序中的不同功能,本实施例对此不作限定。

可选地,服务器120中运行有精准系统,该精准系统用于提供后台精准服务,比如:精准系统提供的后台精准服务包括但不限于以下几种:根据第一文件地址请求中的地址标识确定是否下发第一脚本、根据第一文件获取请求下发第一脚本、根据上次下发第二脚本与本次接收到第二文件地址请求之间间隔的时长,和/或,根据第二文件地址请求中的环境参数确定是否下发第二脚本。

其中,环境参数用于供服务器120确定浏览器111是否支持运行第二脚本。

可选地,环境参数包括:浏览器111的版本号,和/或,浏览器111的类型。

可选地,服务器120可以是服务器集群,或者是单个服务器,本实施对此不作限定。

可选地,本实施例仅以服务器120向一个终端110发送第一脚本和第二脚本为例进行说明,在实际实现时,终端110的数量为至少一个,本实施例对此不作限定。

可选地,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(localareanetwork,lan)、城域网(metropolitanareanetwork,man)、广域网(wideareanetwork,wan)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(hypertextmark-uplanguage,html)、可扩展标记语言(extensiblemarkuplanguage,xml)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(securesocketlayer,ssl)、传输层安全(trassportlayersecurity,tls)、虚拟专用网络(virtualprivatenetwork,vpn)、网际协议安全(internetprotocolsecurity,ipsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。

请参考图2a,其示出了本发明一个实施例提供的数据采集方法的流程图。该数据采集方法应用于图1所示的数据采集系统中,该方法可以包括以下几个步骤:

步骤201,服务器向终端发送第一脚本。

第一脚本是终端中的浏览器在显示网页的过程中,通过运行管理客户端在网页中添加的入口标签时请求的。

步骤202,浏览器根据入口标签获取第一脚本。

其中,入口标签由管理客户端在浏览器显示网页的过程中添加至网页中,所述入口标签用于触发所述浏览器从服务器获取第一脚本用于触发浏览器从服务器获取第一脚本。

本实施例中,浏览器根据接收到的浏览操作显示网页。

在一种方式中,浏览器显示网页是指:终端通过人机交互接口接收用户输入的浏览操作;根据该浏览操作启动浏览器,并通过该浏览器显示该浏览操作指示的网页。

在另一种方式中,浏览器显示网页是指:终端通过人机交互接口接收用户输入的启动操作;根据该启动操作启动浏览器;通过该人机交互接口接收用户输入的浏览操作,通过该浏览器显示该浏览操作指示的网页。

可选地,浏览操作和启动操作是点击操作、长按操作、滑动操作、字符输入操作、语音输入操作中的至少一种。

可选地,浏览操作和启动操作相同或不同。

入口标签用于在网页的页面代码中添加外部脚本(第一脚本),示意性地,入口标签为script标签。

可选地,管理客户端在网页的页面代码的底部添加入口标签。

本实施例中,入口标签包括标签属性。标签属性用于指示外部脚本的地址(第一脚本的文件地址),示意性地,标签属性为src。

步骤203,服务器向终端发送第二脚本。

第二脚本是浏览器运行第一脚本时请求的。

步骤204,浏览器在运行第一脚本时,从服务器获取网页对应的第二脚本。

步骤205,浏览器在运行第二脚本时,对网页进行数据采集。

第一脚本用于提供第二脚本的运行环境,终端通过浏览器运行第一脚本,通过运行该第一脚本运行第二脚本,通过该第二脚本采集网页中对应类型的数据。

可选地,浏览器采集到网页中的数据后,将该数据发送至服务器。

步骤206,服务器获取第二脚本采集到的网页的数据。

可选地,服务器每隔预设时长从浏览器获取网页的数据;或者,服务器接收浏览器采集到网页中的数据后上报的数据。

本实施例不对预设时长的具体数值作限定,示意性地,预设时长为10min。

可选地,服务器接收到第二脚本采集到的网页的数据之后,对各个数据进行分类存储,在终端请求这些数据时,终端分类显示这些数据。

在一个示例中,服务器将购物页面中具有优惠券的物品的数据存储在一起,当终端请求具有优惠券的物品的数据时,服务器将这些数据发送给终端,参考图2b,终端在券后价页面21中,显示具有优惠券的物品的数据。其中,终端可以是上报数据的终端,也可以是其他终端,本实施例对此不作限定。

在又一个示例中,服务器将价格低于预设价格的物品的数据存储在一起,当终端请求价格低于预设价格的物品的数据时,服务器将这些数据发送给终端,参考图2c,终端在白菜价页面22中,显示价格低于预设价格的物品的数据。其中,终端可以是上报数据的终端,也可以是其他终端,本实施例对此不作限定。

可选地,服务器记录一组数据的变化情况,并在终端请求该组数据时,向终端发送该组数据的变化情况,由终端显示该变化情况。

可选地,上述一组数据包括物品的价格数据、获取数据的时间、物品的剩余数量等与该物品相关联的数据。

在一个示例中,服务器存储有物品价格的变化情况,当终端请求该物品的数据时,服务器将该物品价格的变化情况发送给终端,参考图2d,终端显示该物品的价格的变化情况23。其中,终端可以是上报数据的终端,也可以是其他终端,本实施例对此不作限定。

综上所述,本实施例提供的数据采集方法,通过在浏览器显示网页的过程中,通过管理客户端在该网页中添加入口表亲,从而触发浏览器获取第一脚本和第二脚本,使得管理客户端能够根据用户访问网页的行为,触发浏览客户端通过第二脚本采集该网页中的数据;解决了在通过一个终端中的网络爬虫采集数据时,需要为该终端设置较多的ip地址来避免其中一个ip地址被禁止使用,导致的采集数据的复杂程度较高的问题;由于用户访问网页的行为通常是不规律的,且每个用户在一天内访问同一网站的次数不会太高,因此,网站通常不会禁止用户使用的终端对应的ip地址;另外,即使网站禁止了用户使用的终端对应的ip地址,还可以通过其它用户访问网页的行为来获取网页中的数据,无需在同一终端中设置多个ip地址来采集数据,降低了终端采集数据的复杂程度。

可选地,步骤202、204、205可单独实现为终端侧的方法实施例,步骤201、203、206可单独实现为服务器侧的方法实施例,本实施例对此不作限定。

下面对步骤202中管理客户端添加入口标签的方式、以及浏览器获取第一脚本的方式、步骤205中浏览器获取第二脚本的方式分别进行详细介绍。

第一、管理客户端添加入口标签的方式。

本实施例中,在浏览器显示网页的过程中,管理客户端在网页中添加入口标签,包括以下几个步骤:

1)管理客户端对浏览器进行监控。

终端通过管理客户端对浏览器进行监控,包括但不限于以下方式:

在一种方式中,管理客户端通过监控浏览器是否发送了网页获取请求,来实时监控浏览器是否需要显示网页。当管理客户端监控到浏览器发送了网页获取请求时,确定浏览器需要显示网页。此时,浏览器获取网页获取请求中的网页标识。

在另一种方式中,管理客户端通过监控浏览器是否接收到网页数据包,来实时监控浏览器是否需要显示网页。当管理客户端监控到浏览器接收到网页数据包时,确定浏览器需要显示网页。此时,浏览器通过预设接口获取浏览器中显示的网页标识。

2)在管理客户端监控到浏览器显示网页时,管理客户端向服务器发送第一文件地址请求。

第一文件地址请求用于请求服务器下发第一脚本的文件地址。

本实施例中,由终端中的管理客户端对浏览器进行监控,在监控到浏览器显示网页时,触发浏览器向服务器发送第一文件地址请求。

可选地,浏览器在加载待显示的网页时,也可以自动向服务器发送第一文件地址请求。

终端通过网络爬虫采集数据时,根据爬取任务指示的网页爬取数据。若爬取任务指示的网页没有用户访问,或者没有用户期待访问,那么,终端采集到的该网页中的数据是不被用户需要的数据,此时,会浪费终端采集数据时所消耗的资源,同时,也会浪费服务器存储该数据时占用的存储空间。

而在本实施例中,管理客户端根据用户访问网页的浏览操作,来确定浏览器采集数据的时机,使得终端在用户访问了该网页的前提下,采集该网页的数据,即,该网页的数据是被用户需要的,相对于终端直接采集服务器指定的网页中的数据来说,节省了终端采集数据时所消耗的资源,同时,也节省了服务器存储该数据时占用的存储空间。

可选地,第一文件地址请求包括地址标识和网页标识中的至少一种。

地址标识用于供服务器确定是否向管理客户端发送第一脚本。地址标识可以反映终端当前使用的网络所提供的带宽。

网页标识用于供服务器确定浏览器显示的网页对应的第二脚本。

可选地,当服务器无需确定网页对应的第二脚本时,比如:当所有的网页对应同一第二脚本时,第一文件地址请求中可以不携带网页标识。

3)服务器接收管理客户端在浏览器显示网页时发送的第一文件地址请求。

4)服务器根据地址标识确定是否向终端发送第一脚本。

可选地,服务器中预存有黑名单,该黑名单包括至少一个带宽较小的地区的地址标识。若服务器接收到的第一文件地址请求中的地址标识属于该黑名单,则确定不发送第一脚本,流程结束;若服务器接收到的第一文件地址请求中的地址标识不属于该黑名单,则确定发送第一脚本,此时,执行步骤5)。其中,黑名单中的地址标识对应的地区提供的带宽低于预设带宽。

对于在偏远地区访问网页的终端,该终端当前使用的网络所提供的带宽可能较小,由于浏览器在显示网页的过程中,获取该网页的数据已经占用了较大的带宽。若在显示网页的过程中,浏览器还获取第一脚本和第二脚本,可能会造成浏览器显示网页卡顿的问题。因此,本实施例中,服务器通过根据地址标识确定是否发送第一脚本,在该地址标识对应的地区提供的带宽低于预设带宽时,不向终端发送第一脚本,保证了浏览器显示网页的流畅程度。

参考图3,服务器接收到第一文件地址请求301后,获取该第一文件地址请求301中的地址标识302,检测预存的黑名单303中是否存在该地址标识302;服务器在检测出不存在地址标识302时,确定发送第一脚本。

5)当根据地址标识确定出向终端发送第一脚本时,服务器向管理客户端发送第一脚本的文件地址。

可选地,第一脚本的文件地址用于指示服务器地址、端口号和第一脚本在服务器中的存储位置中的至少一种。

6)管理客户端接收服务器在确定下发第一脚本时发送的第一脚本的文件地址。

7)管理客户端根据第一脚本的文件地址,在网页中添加入口标签。

管理客户端在网页的页面代码中添加入口标签,入口标签包括标签属性;管理客户端将标签属性的值设置为第一脚本的文件地址。

示意性,本步骤通过下述代码表示:src=123.456.567.8008。

综上所述,本实施例提供的数据采集方法,通过由服务器根据第一文件地址请求中的地址标识确定是否发送第一脚本,该地址标识用于指示对应地区的带宽,使得服务器在确定出终端在带宽较小的地区运行时,不向终端发送第一脚本,保证了终端显示网页的流畅程度。

可选地,服务器接收到第一文件地址请求后,还可以根据第一文件地址请求中网页的网页标识,确定网页对应的第二脚本。

可选地,服务器中预存有网页标识和第二脚本之间的对应关系。服务器根据预存的对应关系和第一文件地址请求中的网页标识,确定对应的第二脚本。

可选地,每个网页标识对应至少一个第二脚本,每个第二脚本采集对应类型的数据。

参考图3,服务器接收到第一文件地址请求301后,获取该第一文件地址请求301中的网页标识304,从对应关系305中确定网页标识304对应的第二脚本。

第二、浏览器获取第一脚本。

本实施例中,浏览器根据所述入口标签获取所述第一脚本,包括以下几个步骤:

1)浏览器运行入口标签中的第一脚本的文件地址时,向服务器发送第一文件获取请求。

第一文件获取请求包括第一脚本的文件地址。

浏览器逐行运行网页的页面代码,当运行到页面代码底部的标签属性时,根据该标签属性的值,即,第一脚本的文件地址,向服务器发送第一文件获取请求。

可选地,浏览器根据第一脚本的文件地址向服务器发送第一文件获取请求是指:将第一脚本的文件地址携带在第一文件获取请求中,将该第一文件获取请求发送至服务器。

2)服务器接收浏览器运行入口标签时发送的第一文件获取请求。

服务器根据第一文件获取请求中的第一脚本的文件地址查找第一脚本。

3)服务器根据第一文件获取请求向终端发送第一脚本。

4)浏览器接收服务器根据第一文件获取请求发送的第一脚本。

第三、浏览器获取第二脚本。

本实施例中,浏览器在运行第一脚本时,从服务器获取网页对应的第二脚本,包括以下几个步骤。

1)浏览器运行第一脚本,向服务器发送第二文件地址请求。

第二文件地址请求用于请求服务器下发第二脚本的文件地址。

2)服务器接收浏览器在运行第一脚本时发送的第二文件地址请求。

3)服务器根据第二文件地址请求向终端发送第二脚本的文件地址。

可选地,第二脚本的文件地址用于指示服务器地址、端口号和第二脚本在服务器中的存储位置中的至少一种。

4)浏览器通过第一脚本接收第二脚本的文件地址。

终端接收第二脚本的文件地址,第一脚本将该采集文件的文件地址赋值给第一脚本中的标签属性。

可选地,第一脚本中的标签属性是浏览器在第一脚本中添加的第二脚本标签的标签属性;或者,第一脚本中的标签属性是第一脚本中默认的第二脚本标签的标签属性。

第二脚本标签中的标签属性的表示方式可以与入口标签中的标签属性的表示方式相同,也可以与入口标签中的标签属性的表示方式不同,本实施例对此不作限定。示意性地,第二脚本标签中的标签属性的表示方式为src。

5)浏览器在运行第二脚本的文件地址时,向服务器发送第二文件获取请求。

第二文件获取请求包括第二脚本的文件地址。

浏览器逐行运行第一脚本中的代码,当运行到第二脚本标签中的标签属性时,根据该标签属性的值,即,第二脚本的文件地址,向服务器发送第二文件获取请求。

6)服务器接收浏览器运行第二脚本的文件地址时发送的第二文件获取请求。

7)服务器根据第二文件获取请求向终端发送第二脚本。

8)浏览器接收服务器根据第二文件获取请求发送的第二脚本。

可选地,在步骤3)之前,浏览器运行第一脚本时,还可以获取浏览器的环境参数,该环境参数用于供服务器确定浏览器是否支持运行第二脚本;浏览器将环境参数添加至的第二文件地址请求,此时,第二文件获取请求包括第二脚本的文件地址和环境参数。

其中,第一脚本包括用于获取环境参数的代码,浏览器通过运行该代码,获取浏览器的环境参数。

在这种情况下,服务器接收到第二文件地址请求后,还需要根据环境参数确定浏览器是否支持运行第二脚本;当确定出浏览器支持运行第二脚本时,再向终端发送第二脚本的文件地址,即,执行步骤3)。

可选地,服务器中预设有浏览器的黑名单。浏览器的黑名单中包括至少一个浏览器的版本号和/或至少一种浏览器的类型。

可选地,服务器检测第二文件地址请求中的环境参数指示的浏览器的版本号是否属于浏览器的黑名单;若属于,则确定浏览器支持运行第二脚本;执行步骤3);若不属于,则确定浏览器不支持运行第二脚本,流程结束。

由于浏览器的版本较低,或者浏览器的类型是不允许第二脚本运行的类型时,此时,服务器即使将第二脚本发送给终端,该终端中的浏览器也无法运行该第二脚本,浪费了服务器发送第二脚本占用的传输资源。

本实施例中,通过在终端发送的第二地址请求中携带环境参数,使得服务器能够根据该环境参数确定出浏览器是否支持运行第二脚本;在确定出支持运行第二脚本时,向终端发送该第二脚本,这样,浏览器接收到第二脚本后,能够正常运行该第二脚本,节省了服务器发送第二脚本时占用的带宽资源。

可选地,在步骤3)之前,服务器还可以检测在预设时长内是否下发过第二脚本;若在预设时长内未下发过第二脚本,则向终端发送第二脚本的文件地址。

服务器通过检测在预设时长内是否下发过第二脚本,来间接检测第二脚本采集的数据的新鲜程度。本实施例不对预设时长的数值作限定,示意性地,预设时长为6小时。

当服务器检测出在预设时长内下发过第二脚本时,说明在该预设时长内存在终端上报过该第二脚本采集到的数据,此时,该数据的新鲜程度较高,服务器无需再次获取该数据,从而节省传输资源,即,服务器不需要向终端下发第二脚本,流程结束。

当服务器检测出在预设时长内未下发过第二脚本时,说明在该预设时长内不存在终端上报过该第二脚本采集到的数据,此时,该数据的新鲜程度较低,服务器需要获取该数据,从而保证存储的数据的有效性,即,服务器需要向终端下发第二脚本,执行步骤3)。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

请参考图4,其示出了本发明一个实施例提供的数据采集装置的框图。该装置具有执行上述终端侧的方法示例的功能,功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:第一获取模块410、第二获取模块420和数据采集模块430。

第一获取模块410,用于根据所述入口标签获取第一脚本,所述入口标签是在显示网页的过程中被添加至所述网页中的标签,所述入口标签用于触发从服务器获取第一脚本;

第二获取模块420,用于在运行所述第一脚本时,从所述服务器获取所述网页对应的所述第二脚本,所述第一脚本是用于提供所述第二脚本的运行环境的脚本,所述第二脚本是用于对所述网页进行数据采集的脚本;

数据采集模块430,用于在运行所述第二脚本时,对所述网页进行数据采集。

可选地,所述装置还包括:添加模块。

所述添加模块,用于在显示网页的过程中将所述入口标签添加至所述网页中。

可选地,所述添加模块包括:监控单元、第一发送单元、第一接收单元和添加单元。

监控单元,用于对所述浏览器进行监控;

第一发送单元,用于在监控到所述浏览器显示所述网页时,向所述服务器发送第一文件地址请求,所述第一文件地址请求包括地址标识;所述第一文件地址请求用于请求所述服务器下发所述第一脚本的文件地址,所述地址标识用于供所述服务器确定是否向所述管理客户端发送所述第一脚本;

第一接收单元,用于接收所述服务器在确定下发所述第一脚本时发送的所述第一脚本的文件地址;

添加单元,用于根据所述第一脚本的文件地址,在所述网页中添加所述入口标签。

可选地,所述添加单元,还用于:

在所述网页的页面代码中添加所述入口标签,所述入口标签包括标签属性;将所述标签属性的值设置为所述第一脚本的文件地址;

所述第一获取模块,还用于:

运行所述入口标签中的所述第一脚本的文件地址时,向所述服务器发送第一文件获取请求,所述第一文件获取请求包括所述第一脚本的文件地址;接收所述服务器根据所述第一文件获取请求发送的所述第一脚本。

可选地,所述第一发送单元,还用于:

在监控到显示所述网页时,获取所述网页的网页标识;

将所述网页标识携带在所述第一文件地址请求中,向所述服务器发送所述第一文件地址请求,所述第一文件获取请求包括所述地址标识和所述网页标识;所述网页标识用于供所述服务器确定所述网页对应的第二脚本。

可选地,所述第二获取模块,包括:

第二发送单元,用于运行所述第一脚本,向所述服务器发送第二文件地址请求;

第二接收单元,用于通过所述第一脚本接收所述第二脚本的文件地址;

第三发送单元,用于在运行所述第二脚本的文件地址时,向所述服务器发送所述第二文件获取请求,所述第二文件获取请求包括所述第二脚本的文件地址;

第三接收单元,用于接收所述服务器根据所述第二文件获取请求发送的所述第二脚本。

可选地,所述第二发送单元,还用于:

运行所述第一脚本时,获取环境参数,所述环境参数用于供所述服务器确定所述装置是否支持运行所述第二脚本;

将所述环境参数添加至的所述第二文件地址请求,向所述服务器发送所述第二文件地址请求;所述第二文件获取请求包括所述第二脚本的文件地址和所述环境参数。

相关细节可参考上述方法实施例。

请参考图5,其示出了本发明一个实施例提供的数据采集装置的框图。该装置具有执行上述服务器侧的方法示例的功能,功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:第一发送模块510、第二发送模块520和获取模块530。

第一发送模块510,用于向终端发送第一脚本,所述第一脚本是所述终端中的浏览器在显示网页的过程中,通过运行管理客户端在所述网页中添加的入口标签时请求的;

第二发送模块520,用于向所述终端发送第二脚本,所述第二脚本是所述浏览器运行所述第一脚本时请求的,所述第一脚本是用于提供所述第二脚本的运行环境的脚本,所述第二脚本是用于对所述网页进行数据采集的脚本;

获取模块530,用于获取所述第二脚本采集到的所述网页的数据。

可选地,所述第一发送模块510,包括:

第一接收单元,用于接收所述管理客户端在所述浏览器显示所述网页时发送的第一文件地址请求,所述第一文件地址请求包括地址标识;

第一确定单元,用于根据所述地址标识确定是否向所述终端发送所述第一脚本;

第一发送单元,用于当根据所述地址标识确定出向所述终端发送所述第一脚本时,向所述管理客户端发送所述第一脚本的文件地址,所述管理客户端根据所述第一脚本的文件地址,在所述网页中添加入口标签;

第二接收单元,用于接收所述浏览器运行所述入口标签时发送的所述第一文件获取请求,所述第一文件获取请求包括所述第一脚本的文件地址;

第二发送单元,用于根据所述第一文件获取请求向所述终端发送所述第一脚本。

可选地,所述装置还包括:确定模块。

确定模块,用于根据所述第一文件地址请求中所述网页的网页标识,确定所述网页对应的第二脚本。

可选地,所述第二发送模块520,包括:

第三接收单元,用于接收所述浏览器在运行所述第一脚本时发送的第二文件地址请求,所述第二文件地址请求包括所述浏览器的环境参数;

第二确定单元,用于根据所述环境参数确定所述浏览器是否支持运行所述第二脚本;

第三发送单元,用于当确定出所述浏览器支持运行所述第二脚本时,向所述终端发送所述第二脚本的文件地址;

第四接收单元,用于接收所述浏览器运行所述第二脚本的文件地址时发送的所述第二文件获取请求;

第四发送单元,用于根据所述第二文件获取请求向所述终端发送所述第二脚本。

可选地,所述装置还包括:检测模块和第三发送模块。

检测模块,用于检测在预设时长内是否下发过所述第二脚本;

第三发送模块,用于在所述预设时长内未下发过所述第二脚本时,向所述终端发送所述第二脚本的文件地址。

需要说明的是:上述实施例提供的数据采集装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据采集装置和数据采集方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各个方法实施例提供的终端侧的数据采集方法。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入服务器中的计算机可读存储介质。计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各个方法实施例提供的服务器侧的数据采集方法。

图6其示出了本发明一个实施例提供的终端600的结构示意图,该终端可以包括射频(rf,radiofrequency)电路601、包括有一个或一个以上计算机可读存储介质的存储器602、输入单元603、显示单元604、传感器605、音频电路606、无线保真(wifi,wirelessfidelity)模块607、包括有一个或者一个以上处理核心的处理器608、以及电源609等部件。本领域技术人员可以理解,图6中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

rf电路601可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器608处理;另外,将涉及上行的数据发送给基站。通常,rf电路601包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim,subscriberidentitymodule)卡、收发信机、耦合器、低噪声放大器(lna,lownoiseamplifier)、双工器等。此外,rf电路601还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(gsm,globalsystemofmobilecommunication)、通用分组无线服务(gprs,generalpacketradioservice)、码分多址(cdma,codedivisionmultipleaccess)、宽带码分多址(wcdma,widebandcodedivisionmultipleaccess)、长期演进(lte,longtermevolution)、电子邮件、短消息服务(sms,shortmessagingservice)等。

存储器602可用于存储软件程序以及模块,处理器608通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器608和输入单元603对存储器602的访问。

输入单元603可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元603可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器608,并能接收处理器608发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元603还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元604可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元604可包括显示面板,可选的,可以采用液晶显示器(lcd,liquidcrystaldisplay)、有机发光二极管(oled,organiclight-emittingdiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器608以确定触摸事件的类型,随后处理器608根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图6中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。

终端还可包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路606、扬声器,传声器可提供用户与终端之间的音频接口。音频电路606可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路606接收后转换为音频数据,再将音频数据输出处理器608处理后,经rf电路601以发送给比如另一终端,或者将音频数据输出至存储器602以便进一步处理。音频电路606还可能包括耳塞插孔,以提供外设耳机与终端的通信。

wifi属于短距离无线传输技术,终端通过wifi模块607可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了wifi模块607,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器608是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器608可包括一个或多个处理核心;优选的,处理器608可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器608中。

终端还包括给各个部件供电的电源609(比如电池),优选的,电源可以通过电源管理系统与处理器608逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源609还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。

具体在本发明实施例中,终端600还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述终端侧的数据采集方法的指令。

图7是本发明一个实施例提供的服务器的结构示意图。服务器700包括中央处理单元(英文:centralprocessingunit,简称:cpu)701、包括随机存取存储器(英文:randomaccessmemory,简称:ram)702和只读存储器(英文:read-onlymemory,简称:rom)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。所述服务器700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。

所述基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中所述显示器708和输入设备709都通过连接到系统总线705的输入/输出控制器710连接到中央处理单元701。所述基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。所述大容量存储设备707及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,所述大容量存储设备707可以包括诸如硬盘或者只读光盘(英文:compactdiscread-onlymemory,简称:cd-rom)驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、可擦除可编程只读存储器(英文:erasableprogrammableread-onlymemory,简称:eprom)、电可擦除可编程只读存储器(英文:electricallyerasableprogrammableread-onlymemory,简称:eeprom)、闪存或其他固态存储其技术,cd-rom、数字通用光盘(英文:digitalversatiledisc,简称:dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。

根据本发明的各种实施例,所述服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在所述系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。

具体在本发明实施例中,服务器700还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述服务器侧的数据采集方法的指令。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1