获取信息的方法及装置与流程

文档序号:17126200发布日期:2019-03-16 00:28阅读:177来源:国知局
获取信息的方法及装置与流程

本申请涉及但不限于互联网领域,具体而言,涉及一种获取信息的方法及装置。



背景技术:

在相关技术中,互联网协议地址(internetprotocoladdress,简称为ip)代理池的建设对于爬虫来说是关键的一个技术环节,在爬取过程中经常会碰到很多网站的反爬取策略,或者说因为信息采集强度,以及采集速度太大,给被爬服务器造成了压力,如果一直使用此ip作为爬取客户端client,就会被对方网站禁止访问网站。但随着公司的业务增长,必须得采取相应的策略来保证正常的获取信息的能力。相关技术中直接提供ip代理的方式获取网站信息,一旦ip不可用需要主动更新ip甚至更改程序代码。

针对相关技术中大量获取对方网站信息被对方限制导致信息获取量大幅减少的问题,目前还没有有效的解决方案。



技术实现要素:

本申请实施例提供了一种获取信息的方法及装置,以至少解决相关技术中大量获取对方网站信息被对方限制导致信息获取量大幅减少的问题。

根据本申请的一个实施例,提供了一种获取信息的方法,包括:客户端设备通过反向代理系统获取目标网站的信息,其中,所述反向代理系统包括中间服务器,和注册在所述中间服务器上的多个虚拟专用服务器vps代理服务器。

根据本申请的另一个实施例,还提供了一种获取信息的方法,包括:反向代理系统接收客户端设备的第一请求消息,其中,所述反向代理系统包括中间服务器,和注册在所述中间服务器上的一个或多个vps代理服务器;通过所述一个或多个vps代理服务器,依据所述第一请求消息完成获取目标网站信息的业务。

根据本申请的另一个实施例,还提供了一种获取信息的方法,包括:中间服务器接收客户端设备发送的用于获取目标网站信息的第一获取请求消息,其中,所述中间服务器上注册有一个或多个vps代理服务器;在所述一个或多个vps代理服务器中选择第一服务器,通过所述第一服务器获取所述目标网站的信息;接收所述第一服务器反馈的获取结果,并转发至所述客户端设备。

根据本申请的另一个实施例,还提供了一种获取信息的方法,包括:中间服务器接收客户端设备发送的用于获取代理服务器的第二获取请求消息,其中,所述中间服务器上注册有一个或多个vps代理服务器;所述中间服务器在所述一个或多个vps代理服务器中选择第一服务器,并反馈所述第一服务器的ip地址至所述客户端设备,其中,所述客户端设备通过所述第一服务器获取目标网站的信息。

根据本申请的另一个实施例,还提供了一种获取信息的装置,包括:第一获取模块,用于通过反向代理系统获取目标网站的信息,其中,所述反向代理系统包括中间服务器,和注册在所述中间服务器上的多个vps代理服务器。

根据本申请的另一个实施例,还提供了一种获取信息的装置,应用于反向代理系统,包括:第二接收模块,用于接收客户端设备的第一请求消息,其中,所述反向代理系统包括中间服务器,和注册在所述中间服务器上的一个或多个vps代理服务器;第二获取模块,用于通过所述一个或多个vps代理服务器,依据所述第一请求消息完成获取目标网站信息的业务。

根据本申请的另一个实施例,还提供了一种获取信息的装置,应用于中间服务器,包括:第三接收模块,用于接收客户端设备发送的用于获取目标网站信息的第一获取请求消息,其中,所述中间服务器上注册有一个或多个vps代理服务器;第三获取模块,用于在所述一个或多个vps代理服务器中选择第一服务器,通过所述第一服务器获取所述目标网站的信息;第三转发模块,用于接收所述第一服务器反馈的获取结果,并转发至所述客户端设备。

根据本申请的另一个实施例,还提供了一种获取信息的装置,应用于中间服务器,包括:第四接收模块,用于接收客户端设备发送的用于获取代理服务器的第二获取请求消息,其中,所述中间服务器上注册有一个或多个vps代理服务器;第四反馈模块,用于在所述一个或多个vps代理服务器中选择第一服务器,并反馈所述第一服务器的ip地址至所述客户端设备,其中,所述客户端设备通过所述第一服务器获取目标网站的信息。

根据本申请的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本申请的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本申请,反向代理系统包括中间服务器和多个vps代理服务器,客户端通过该反向代理系统来获取目标网站的信息,由于该反向代理系统中包括多个vps代理服务器对应不同的ip地址,因此客户端设备可以换用不同的ip地址来获取目标网站的信息,获取信息的过程不中断,保证了我方稳定的信息获取量,解决了相关技术中大量获取对方网站信息被对方限制导致信息获取量大幅减少的问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是本申请实施例的一种获取信息的方法的计算机终端的硬件结构框图;

图2是根据本申请实施例的获取信息的方法流程图;

图3是根据本申请另一个实施例的vps服务与代理服务器的拨号交互流程示意图;

图4是根据本申请另一个实施例的整体架构图;

图5是根据本申请另一个实施例的爬取网页的方式一流程示意图;

图6是根据本申请另一个实施例的爬取网元的方式二流程示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例一

本申请实施例一所提供的方法实施例可以在计算机终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种获取信息的方法的计算机终端的硬件结构框图,如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的获取信息的方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

本申请文件中获取目标网站的信息的方案,在相关技术中称为“信息爬取”,可以由一段称为“爬虫”的程序或者脚本来执行,当然本申请文件的场景不局限于此处举例,也可以适用于类似地容易被目标网站限制访问的场景。

在本实施例中提供了一种运行于上述计算机终端的获取信息的方法,图2是根据本申请实施例的获取信息的方法流程图,如图2所示,该流程包括如下步骤:

步骤s202,客户端设备通过反向代理系统获取目标网站的信息;

步骤s204,其中,所述反向代理系统包括中间服务器,和注册在所述中间服务器上的多个虚拟专用服务器vps代理服务器。

通过上述步骤,反向代理系统包括中间服务器和多个vps代理服务器,客户端通过该反向代理系统来获取目标网站的信息,由于该反向代理系统中包括多个vps代理服务器对应不同的ip地址,因此客户端设备可以换用不同的ip地址来获取目标网站的信息,获取信息的过程不中断,保证了我方稳定的信息获取量,解决了相关技术中大量获取对方网站信息被对方限制导致信息获取量大幅减少的问题。

可选地,客户端设备通过反向代理系统获取目标网站的信息,包括:所述客户端设备向所述中间服务器发送用于获取目标网站信息的第一获取请求消息,其中,所述中间服务器在所述多个vps代理服务器中选择第一服务器,通过所述第一服务器获取所述目标网站的信息;接收所述反向代理系统反馈的获取结果。

可选地,客户端设备通过反向代理系统获取目标网站的信息,包括:所述客户端设备向所述中间服务器发送用于获取代理服务器的第二获取请求消息,其中,所述中间服务器在所述多个vps代理服务器中选择第一服务器;接收所述中间服务器反馈的所述第一服务器的互联网协议地址ip地址;发送第一获取请求消息至所述第一服务器,通过所述第一服务器获取所述目标网站的信息;接收所述第一服务器反馈的获取结果。

根据本申请的另一个实施例,还提供了一种获取信息的方法,包括以下步骤:

步骤一,反向代理系统接收客户端设备的第一请求消息,其中,所述反向代理系统包括中间服务器,和注册在所述中间服务器上的一个或多个vps代理服务器;

步骤二,通过所述一个或多个vps代理服务器,依据所述第一请求消息完成获取目标网站信息的业务。

通过本申请,反向代理系统包括中间服务器和多个vps代理服务器,客户端通过该反向代理系统来获取目标网站的信息,由于该反向代理系统中包括多个vps代理服务器对应不同的ip地址,因此客户端设备可以换用不同的ip地址来获取目标网站的信息,获取信息的过程不中断,保证了我方稳定的信息获取量,解决了相关技术中大量获取对方网站信息被对方限制导致信息获取量大幅减少的问题。

可选地,在所述第一请求消息为用于获取目标网站信息的第一获取请求消息时,所述中间服务器接收所述客户端设备发送的第一获取请求消息;所述中间服务器在所述一个或多个vps代理服务器中选择第一服务器,通过所述第一服务器获取所述目标网站的信息;并将所述第一服务器反馈的获取结果转发至所述客户端设备。

可选地,在所述第一请求消息为用于获取代理服务器的第二获取请求消息时,所述中间服务器接收所述客户端设备发送的用于获取代理服务器的第二获取请求消息;所述中间服务器在所述一个或多个vps代理服务器中选择第一服务器,并反馈所述第一服务器的ip地址至所述客户端设备,其中,所述客户端设备发送第一获取请求消息至所述第一服务器来获取所述目标网站信息。

可选地,反向代理系统接收客户端设备的第一请求消息,包括:反向代理系统接收到前端f5依据负载均衡策略转发的所述第一请求消息。

可选地,在仅有一个vps代理服务器注册到所述中间服务器时,所述中间服务器获取其他中间服务器的备份vps代理服务器;在存在多个vps代理服务器注册到所述中间服务器时,所述中间服务器在任意时刻保持至少一个vps代理服务器有效。

根据本申请的另一个实施例,还提供了一种获取信息的方法,包括以下步骤:

步骤一,中间服务器接收客户端设备发送的用于获取目标网站信息的第一获取请求消息,其中,所述中间服务器上注册有一个或多个vps代理服务器;

步骤二,在所述一个或多个vps代理服务器中选择第一服务器,通过所述第一服务器获取所述目标网站的信息;

步骤三,接收所述第一服务器反馈的获取结果,并转发至所述客户端设备。

通过本申请,反向代理系统包括中间服务器和多个vps代理服务器,客户端通过该反向代理系统来获取目标网站的信息,由于该反向代理系统中包括多个vps代理服务器对应不同的ip地址,因此客户端设备可以换用不同的ip地址来获取目标网站的信息,获取信息的过程不中断,保证了我方稳定的信息获取量,解决了相关技术中大量获取对方网站信息被对方限制导致信息获取量大幅减少的问题。

根据本申请的另一个实施例,还提供了一种获取信息的方法,包括以下步骤:

步骤一,中间服务器接收客户端设备发送的用于获取代理服务器的第二获取请求消息,其中,所述中间服务器上注册有一个或多个vps代理服务器;

步骤二,所述中间服务器在所述一个或多个vps代理服务器中选择第一服务器,并反馈所述第一服务器的ip地址至所述客户端设备,其中,所述客户端设备通过所述第一服务器获取目标网站的信息。

通过本申请,反向代理系统包括中间服务器和多个vps代理服务器,客户端通过该反向代理系统来获取目标网站的信息,由于该反向代理系统中包括多个vps代理服务器对应不同的ip地址,因此客户端设备可以换用不同的ip地址来获取目标网站的信息,获取信息的过程不中断,保证了我方稳定的信息获取量,解决了相关技术中大量获取对方网站信息被对方限制导致信息获取量大幅减少的问题。

下面结合本申请的另一个实施例进行说明。

相关技术中方案,存在以下问题:

(1)高可用架构下,一般一个典型的请求会经过两次透明代理的转发,多了一次转发效率有所降低。

(2)拨号后获得ip有时候不可用,ip已经被赋予拨号网络,但是无法联通外网。针对这种情况,本申请另一个实施例更新的代码,会不断重试,直到获得一个可用的ip。

本申请另一个实施例中的基于虚拟专用服务器(virtualprivateserver,简称为vps)的反向代理池技术,解决了如下问题:

1.使用反向代理,可绑定固定ip地址去获取ip池内的可用ip。

2.采用透明自动更新vpsip,即如果ip失效,通过重拨地址,vps获取注册新的可用ip注册到代理服务器。

3.提供高可用的vps反向代理方案。前端f5提供负载均衡(loadbalance,简称为lb),转发请求到中间服务器,中间服务器管理vps,vps汇报到中间服务器。当一个中间服务器只有单个vps注册时,他会请求其他的中间服务器获取备份vpsip,这样可以保证当前vpsip因为重拨失效时无法返回有效ip的问题。当有多个vps注册时,则自动调整vps的重拨时间,确保任何时候至少有一个ip有效。

本申请另一个实施例中的vps启动时需要制定要注册的中间服务器。每个vps只需要注册到任意一个中间服务器。

本申请另一个实施例使用基于vps反向代理,专为ip代理问题提供高效可靠的代理服务。采用透明自动更新vpsip,即如果ip失效,通过重拨地址,vps获取注册新的可用ip注册到代理服务器,这个过程对vps代理服务器是透明的。

本申请另一个实施例支持灵活策略的ip刷新,以及自动失败检查,重拨注册ip。

图3是根据本申请另一个实施例的vps服务与代理服务器的拨号交互流程示意图,如图3所示,包括以下步骤:

步骤1,客户端client发送用户请求至f5;

步骤2,f5向代理服务器(相当于上述实施例的中间服务器)请求可用ip,如果ip无效,vps代理服务器获取新的ip地址注册到ip地址池;如果存在有效ip,则转至步骤4;

步骤3,ip地址池返回一个随机ip至代理服务器;

步骤4,代理服务器向f5返回该新注册的ip地址;

步骤5,f5向客户端返回该新注册的ip地址。

图4是根据本申请另一个实施例的整体架构图,如图4所示,包括前端f5,两个代理服务器,以及多个vps代理服务器。

图5是根据本申请另一个实施例的爬取网页的方式一流程示意图,如图5所示,包括以下步骤:

1.爬虫程序将爬取请求发送到f5;

2.f5通过负载均衡策略(轮询,指定权重,随机)将请求转发至反向代理vpsmanager;

3.反向代理vpsmanager通过ip使用策略将请求转发至上游代理;

4.vps代理将请求发送到目标网站,获取数据后按照调用链路返回结果给爬虫程序。

图6是根据本申请另一个实施例的爬取网元的方式二流程示意图,如图6所示,包括以下步骤:

1.爬虫程序将获取代理ip请求发送给f5

2.f5通过负载均衡将请求发送到反向代理vpsmanager

3.反向代理vpsmanager根据ip使用策略从注册到其上的ip中选择一个按调用链路返回。

4.爬虫程序接收到ip,将爬取请求转发到指定ip地址的vps。

5.vps将爬取请求转发到目标网站,又称为爬取站点,然后将目标网站的返回结果返回到爬虫程序。

在本申请另一个实施例中,应用程序编程接口(applicationprogramminginterface,简称为api)设计(以下api介绍基于restful风格,实际实现可以采用rpc方式)如下:

vpsmanager(相当于上述实施例的中间服务器)api:

1.获取第一个可用的代理ip:http://host:port/first

2.获取随机可用代理ip:http://host:port/random

3.获取所用可用代理列表:http://host:port/list

4.获取可用代理数目:http://host:port/count

5.获取可以用做备份代理的代理ip(内部使用,非客户api):http://host:port/backup

6.注册新iphttp://host:port/register_proxy-d“proxy=host:port&identity=1234&redialendpoint=host:port”

其中,proxy是可用的代理。identity是客户端的唯一代码,redialendpoint是用来发送重拨命令的访问端口。一般来说,这个ip和代理ip是一样的,但是端口不同。代理ip的端接口是实际流量端口,重拨命令端口是管理端口。直接使用ip的好处是减少一层中转,效率较高,按时需要自己更新ip。

vpsapi如下:重拨以获取新ipcurlhttp://host:port/redial;

根据策略的不同,vpsmanager可能会定期检测ip是否可用,或者是否超时。如果不可用或者超时会移除ip,然后vpsmanager调用vps提供的api请求vps重拨。vps受到请求后,重新拨号,刷新ip后应该调用vpsmanager注册接口,将新ip注册到vpsmanager。

采用上述方案,解决了生产中,由于代理不稳定,造成的用户量流失。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

实施例二

在本实施例中还提供了一种获取信息的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

根据本申请的另一个实施例,提供了一种获取信息的装置,可以用于客户端设备,包括:

第一获取模块,用于通过反向代理系统获取目标网站的信息,其中,所述反向代理系统包括中间服务器,和注册在所述中间服务器上的多个vps代理服务器。

根据本申请的另一个实施例,还提供了一种获取信息的装置,可以用于反向代理系统,包括:

第二接收模块,用于接收客户端设备的第一请求消息,其中,所述反向代理系统包括中间服务器,和注册在所述中间服务器上的一个或多个vps代理服务器;

第二获取模块,用于通过所述一个或多个vps代理服务器,依据所述第一请求消息完成获取目标网站信息的业务。

根据本申请的另一个实施例,还提供了一种获取信息的装置,可以用于中间服务器,包括:

第三接收模块,用于接收客户端设备发送的用于获取目标网站信息的第一获取请求消息,其中,所述中间服务器上注册有一个或多个vps代理服务器;

第三获取模块,用于在所述一个或多个vps代理服务器中选择第一服务器,通过所述第一服务器获取所述目标网站的信息;

第三转发模块,用于接收所述第一服务器反馈的获取结果,并转发至所述客户端设备。

根据本申请的另一个实施例,还提供了一种获取信息的装置,可以用于中间服务器,包括:

第四接收模块,用于接收客户端设备发送的用于获取代理服务器的第二获取请求消息,其中,所述中间服务器上注册有一个或多个vps代理服务器;

第四反馈模块,用于在所述一个或多个vps代理服务器中选择第一服务器,并反馈所述第一服务器的ip地址至所述客户端设备,其中,所述客户端设备通过所述第一服务器获取目标网站的信息。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例三

本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

s1,客户端设备通过反向代理系统获取目标网站的信息,其中,所述反向代理系统包括中间服务器,和注册在所述中间服务器上的多个虚拟专用服务器vps代理服务器。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输装置以及输入输出设备,其中,该传输装置和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,客户端设备通过反向代理系统获取目标网站的信息,其中,所述反向代理系统包括中间服务器,和注册在所述中间服务器上的多个虚拟专用服务器vps代理服务器。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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