数据爬取方法、装置、计算机设备和存储介质与流程

文档序号:17005679发布日期:2019-03-02 02:01阅读:125来源:国知局
数据爬取方法、装置、计算机设备和存储介质与流程

本申请涉及互联网技术领域,特别是涉及一种数据爬取方法、装置、计算机设备和存储介质。



背景技术:

网络爬虫是一种用于自动从网站获取数据的工具,对于网站而言,网络爬虫的数据获取会和真实用户的访问一样带来网站资源的消耗,对于某些数据抓取量大的网络爬虫,其资源消耗甚至远大于正常的用户访问。因此,对于许多网站的设计,一般会采取网站的反爬虫策略,包括对疑似为网络爬虫的访问进行速度限制,通过验证码等方式验证身份,甚至屏蔽某些ip地址的访问,这些策略都会对网络爬虫的数据爬取带来问题。

传统的应对网站反爬虫策略的方法,当对于限制爬虫速度的网站,可通过降低对网站的访问频率来进行数据爬取,而当网络爬虫的ip地址被某些网站屏蔽时,需要重新为网络爬虫设置新的ip地址,但仍无法保证新设置的ip地址的使用期限,仍会出现新设置的ip地址被屏蔽的情形,因此需要为网络爬虫提供有效以及可长期使用的ip地址。



技术实现要素:

基于此,有必要针对网路爬虫ip地址被屏蔽导致无法及时获取数据的问题,提供一种能为网络爬虫提供有效ip地址的数据爬取方法、装置、计算机设备和存储介质。

一种数据爬取方法,所述方法包括:

接收数据爬取请求,并根据所述数据爬取请求获取正常访问的用户代理的参数值;

将网络爬虫的用户代理的取值设置为所述参数值,获得可用网络爬虫;

利用所述可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址;

利用代理缓存服务器绑定多个所述有效ip地址,并根据多个所述有效ip地址生成代理ip地址表;

利用所述可用网络爬虫,连接代理缓存服务器对应的多个有效ip地址,进行数据爬取。

在其中一个实施例中,所述利用所述可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址,包括:

获取预设的抓取周期;

根据所述预设的抓取周期,在预设的时间内利用可用网络爬虫访问所述代理网站;

获取所述代理网站上的多个已有ip地址;

获取预设规则包括的类别设定和范围设定;

根据所述类别设定和所述范围设定对多个所述已有ip地址进行有效性检测;

当通过所述有效性检测时,表示对应的已有ip地址为有效ip地址。

在其中一个实施例中,所述方法还包括:

根据多个所述已有ip地址生成原始表;

根据所述数据爬取请求创建新表;

循环读取所述原始表中的取值,并利用预设规则对所述原始表中的取值进行有效性判断;

当判断所述原始表中的取值为有效取值时,将原始表中的有效取值插入所述新表中,生成有效ip地址表;

删除所述原始表中的有效取值;

从所述新表中获取有效ip地址。

在其中一个实施例中,所述根据多个所述有效ip地址生成代理ip地址表之后,还包括:

获取所述代理缓存服务器中的参数机制;

根据所述参数机制,将所述有效ip地址按照预设格式写入对应的配置文件中;

重新加载所述代理缓存服务器对应的配置文件;

刷新所述代理缓存服务器对应的代理ip地址表,获取更新后的有效ip地址。

在其中一个实施例中,所述在获取正常访问的用户代理的参数值之前,包括:

获取预设规则;

获取http请求头的多个属性以及多个属性对应的参数值;

根据所述预设规则对多个所述参数值进行设置,构建符合预设规则的http请求头;

利用所述http请求头访问正常访问的用户代理。

在其中一个实施例中,所述方法还包括:

获取预设规则包括的预设用户代理属性规则,以及对应的预设用户代理属性取值;

获取所述http请求头的用户代理属性,以及所述用户代理属性对应的参数值;

将所述预设用户代理属性取值,与所述用户代理属性对应的参数值进行比对;

当所述用户代理属性对应的参数值,符合所述预设用户代理属性取值时,表示所述http请求头符合所述预设规则。

一种数据爬取装置,所述装置包括:

参数值获取模块,用于接收数据爬取请求,并根据所述数据爬取请求获取正常访问的用户代理的参数值;

可用网络爬虫获取模块,用于将网络爬虫的用户代理的取值设置为所述参数值,获得可用网络爬虫;

有效ip地址获取模块,利用所述可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址;

代理ip地址表生成模块,用于利用代理缓存服务器绑定多个所述有效ip地址,并根据多个所述有效ip地址生成代理ip地址表;

数据爬取模块,用于利用所述可用网络爬虫,连接代理缓存服务器对应的多个有效ip地址,进行数据爬取。

在其中一个实施例中,所述有效ip地址获取模块还用于:

获取预设的抓取周期;根据所述预设的抓取周期,在预设的时间内利用可用网络爬虫访问所述代理网站;获取所述代理网站上的多个已有ip地址;获取预设规则包括的类别设定和范围设定;根据所述类别设定和所述范围设定对多个所述已有ip地址进行有效性检测;当通过所述有效性检测时,表示对应的已有ip地址为有效ip地址。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

接收数据爬取请求,并根据所述数据爬取请求获取正常访问的用户代理的参数值;

将网络爬虫的用户代理的取值设置为所述参数值,获得可用网络爬虫;

利用所述可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址;

利用代理缓存服务器绑定多个所述有效ip地址,并根据多个所述有效ip地址生成代理ip地址表;

利用所述可用网络爬虫,连接代理缓存服务器对应的多个代理ip地址,进行数据爬取。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

接收数据爬取请求,并根据所述数据爬取请求获取正常访问的用户代理的参数值;

将网络爬虫的用户代理的取值设置为所述参数值,获得可用网络爬虫;

利用所述可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址;

利用代理缓存服务器绑定多个所述有效ip地址,并根据多个所述有效ip地址生成代理ip地址表;

利用所述可用网络爬虫,连接代理缓存服务器对应的多个有效ip地址,进行数据爬取。

上述数据爬取方法、装置、计算机设备和存储介质,服务器通过接收数据爬取请求,并根据数据爬取请求获取正常访问的用户代理的参数值,将网络爬虫的用户代理的取值设置为参数值,获得可用网络爬虫,有利于通过网站对于网络爬虫的属性检测,减少被拦截情况。利用可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址,利用代理缓存服务器绑定多个有效ip地址,并根据多个有效ip地址生成代理ip地址表,利用可用网络爬虫,连接代理缓存服务器对应的多个有效ip地址,进行数据爬取,可及时更换网络爬虫使用的ip地址,保证网络爬虫可使用有效地址,实现数据爬取操作。

附图说明

图1为一个实施例中数据爬取方法的应用场景图;

图2为一个实施例中数据爬取方法的流程示意图;

图3为另一个实施例中数据爬取方法的流程示意图;

图4为一个实施例中数据爬取装置的结构框图;

图5为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的数据爬取方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104接收终端102发送的数据爬取请求,并根据数据爬取请求获取正常访问的用户代理的参数值,将网络爬虫的用户代理的取值设置为参数值,获得可用网络爬虫,利用可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址,利用代理缓存服务器绑定多个有效ip地址,并根据多个有效ip地址生成代理ip地址表,利用可用网络爬虫,连接代理缓存服务器对应的多个有效ip地址,进行数据爬取。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种数据爬取方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

s202,服务器接收终端发送的数据爬取请求,并根据数据爬取请求获取正常访问的用户代理的参数值。

具体地,数据爬取请求由终端发送至服务器,用于使得服务器执行数据爬取操作,在本实施例中,服务器根据数据爬取请求获取正常访问的用户代理的参数值,即正常用户,非爬虫程序,访问云平台时,用户代理的参数值。s204,服务器将网络爬虫的用户代理的取值设置为参数值,获得可用网络爬虫。

具体地,服务器根据终端发送的数据爬取请求,获取正常访问云平台的用户代理的参数值,一般正常用户访问网站的user-agent:mozilla/5.0(ip地址hone;cpuip地址honeos712likemacosx)applewebkit/537.51.2(khtml,likegecko)version/7.0mobile/11d257safari/9537.53。服务器可将网络爬虫对应的用户代理的取值,设置为所获取的正常访问云平的用户代理的参数值,生成可用网络爬虫,该可用网络爬虫可应对一般云平台的反爬虫策略,通过平台对于访问网络爬虫的属性检测。

进一步地,以将本申请的数据爬取方法应用至二手车网站为例,服务器通过将网络爬虫的用户代理的取值,设置成与正常用户访问二手车交易网站的用户代理参数。其中,正常用户包括二手车买方和二手车卖方,二手车交易网站包括瓜子二手车、优信二手车以及人人车等网站,服务器可将网络爬虫的用户代理取值,设置成二手车买方访问该二手车交易网站时的用户代理参数,或设置成二手车卖方访问该二手车交易网站时的用户代理参数,可应对该二手车网站的反爬虫策略,避免将访问账号封锁。

服务器通过将网络爬虫的用户代理值,设置成与正常用户访问二手车交易网站的用户代理参数后,可以正常用户的身份获取二手车网站上二手车的信息。

s206,服务器利用可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址。

具体地,服务器利用可用爬虫网络,通过代理网站上的属性检测,并预设抓取周期,在预设的抓取周期内利用可用网络爬虫访问代理网站,获取代理网站上的多个已有ip地址,获取预设规则包括的类别设定和范围设定,根据类别设定和范围设定对多个已有ip地址进行有效性检测,当通过有效性检测时,表示对应的已有ip地址为有效ip地址。

s208,服务器利用代理缓存服务器绑定多个有效ip地址,并根据多个有效ip地址生成代理ip地址表。

具体地,服务器利用代理缓存服务器绑定所获得的多个有效ip地址,建立代理缓存服务器和有效ip地址之间的对应关系,并根据多个有效ip地址生成代理ip地址表,该代理ip地址表中的多个有效ip地址和代理缓存服务器之间存在对应关系。

其中,代理缓存服务器指的是squid,其功能是代理网络用户去取得网络信息,通过接收用户的下载申请,自动处理所下载的数据。当用户想要下载一个主页时,可以向squid发出一个申请,要squid代替其进行下载,然后squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,squid把保存的备份立即传给用户,使用户觉得速度相当快。squid可以代理http、ftp、gopher、ssl和wais等协议并且squid可以自动地进行处理,可以根据自己的需要设置squid,使之过滤掉不需要的数据。

s210,服务器利用可用网络爬虫,连接代理缓存服务器对应的多个有效ip地址,进行数据爬取。

具体地,服务器利用代理缓存服务器和多个有效ip地址之间的对应关系,将可用网络爬虫与对应的有效ip地址连接,网络爬虫通过该有效ip地址进入云平台,进行数据爬取。

进一步地,服务器利用可用网络爬虫,连接代理缓存服务器对应的多个有效ip地址,以正常用户的身份访问二手车网站,获取二手车网站上二手车的信息,包括二手车技术状况鉴定、二手车估价、卖方定价以及车务手续、车辆保养维修手续、税费手续等。

上述数据爬取方法中,服务器通过接收数据爬取请求,并根据数据爬取请求获取正常访问的用户代理的参数值,将网络爬虫的用户代理的取值设置为参数值,获得可用网络爬虫,有利于通过网站对于网络爬虫的属性检测,减少被拦截情况。利用可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址,利用代理缓存服务器绑定多个有效ip地址,并根据多个有效ip地址生成代理ip地址表,利用可用网络爬虫,连接代理缓存服务器对应的多个有效ip地址,进行数据爬取,可及时更换网络爬虫使用的ip地址,保证网络爬虫可使用有效地址,实现数据爬取操作。

在一个实施例中,提供了一种数据爬取方法,如图3所示,在根据多个有效ip地址生成代理ip地址表之后,还包括:

s302,服务器获取代理缓存服务器中的参数机制。

具体地,参数机制为代理缓存服务器squid的cache_peer机制,命令cache_peer的定义格式如下:cache_peerhostnametype31283130

其中,hostname是用来指定获取缓冲的proxy主机的名字;type是proxy主机的类型,有parent以及sibling两种;3128:http_port;3130:icp_port。

s304,服务器根据参数机制,将有效ip地址按照预设格式写入对应的配置文件中。

s306,服务器重新加载代理缓存服务器对应的配置文件。

具体地,服务器获取代理缓存服务器squid的cache_peer机制,并获取预设的cache_peer的定义格式,将有效ip地址按照预设的cache_peer的定义格式,写入代理缓存服务器对应的配置文件中,服务器重新加载代理缓存服务器对应的配置文件。其中,重新加载的配置文件包括,按照预设的cache_peer的定义格式写入配置文件的有效ip地址。

s308,服务器刷新代理缓存服务器对应的代理ip地址表,获取更新后的有效ip地址。

具体地,服务器刷新代理缓存服务器对应的代理ip地址表,通过从刷新后的代理ip地址表中,及时获得更新后的有效ip地址。

上述方法,服务器通过获取代理缓存服务器中的参数机制,并根据参数机制,将有效ip地址按照预设格式写入对应的配置文件中,重新加载代理缓存服务器对应的配置文件,刷新代理缓存服务器对应的代理ip地址表,获取更新后的有效ip地址。可及时更新代理ip地址表,同时获得更新后的有效ip地址,降低无效ip地址获取机率,提高有效ip地址获取效率。

在一个实施例中,提供了一种利用可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址的步骤,包括:

服务器获取预设的抓取周期;根据预设的抓取周期,在预设的时间内利用可用网络爬虫访问代理网站;获取代理网站上的多个已有ip地址;获取预设规则包括的类别设定和范围设定;根据类别设定和范围设定对多个已有ip地址进行有效性检测;当通过有效性检测时,表示对应的已有ip地址为有效ip地址。

具体地,服务器通过建立网络与代理网站的连接,网络爬虫根据预设的抓取,定时从代理网站上抓取已有ip地址,其中,已有的ip地址包括有效的ip地址和无效的ip地址,还需进行进一步地有效性检测,可通过预设规则并结合curl命令测试该ip地址是否为有效的ip地址。

进一步地,预设规则包括ip地址的类别设定以及范围设定,服务器根据ip地址的类别和范围,结合curl命令对抓取的ip地址进行有效性检测。其中,可使用curl命令检测ip地址“48.139.133.93:3128”,得到http://www.163.com”,说明,所检测的ip地址为有效ip地址,可访问到与之对应的网站。

其中,服务器对已有ip地址进行有效性检测的同时,还包括获取该ip地址的响应时间,和最大使用次数,计算得到此ip地址的质量。

上述步骤,服务器通过获取预设规则包括的类别设定和范围设定,并根据类别设定和范围设定对多个已有ip地址进行有效性检测,当通过有效性检测时,表示对应的已有ip地址为有效ip地址。可根据预设规则对已有ip地址进行有效性检测,获得有效ip地址,降低获取到无效ip地址的概率,提高工作效率。

在一个实施例中,提供了一种利用可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址的步骤,还包括:

服务器根据多个已有ip地址生成原始表;根据数据爬取请求创建新表;循环读取原始表中的取值,并利用预设规则对原始表中的取值进行有效性判断;当判断原始表中的取值为有效取值时,将原始表中的有效取值插入新表中,生成有效ip地址表;删除原始表中的有效取值;从新表中获取有效ip地址。

具体地,预设规则包括取值规则和分类规则,预设的取值规则包括每个ip地址的可取范围,分类规则包括不同ip地址所属的不同分类。服务器可根据预设的ip地址的可取范围,判断原始表中,属于不同分类的ip地址是否处于可取范围内,当原始表中不同分类的ip地址处于可取范围内时,则表示该ip地址为有效ip地址。

上述步骤,服务器根据多个已有ip地址生成原始表,根据数据爬取请求创建新表,当判断原始表中的取值为有效取值时,将原始表中的有效取值插入新表中,生成有效ip地址表,从新表中获取有效ip地址。可及时更新有效ip地址,降低无效ip地址出现概率,保证服务器可及时获取有效ip地址。

在一个实施例中,提供了一种数据爬取方法,在获取正常访问的用户代理的参数值之前,还包括:

服务器获取预设规则;获取http请求头的多个属性以及多个属性对应的参数值;根据预设规则对多个参数值进行设置,构建符合预设规则的http请求头;利用http请求头访问正常访问的用户代理。

具体地,服务器对http请求头的多个属性的参数值进行设置,具体包括对user-agent,即用户代理进行设置,由于一般正常用户访问网站的user-agent:mozilla/5.0(ip地址hone;cpuip地址honeos712likemacosx)applewebkit/537.51.2(khtml,likegecko)version/7.0mobile/11d257safari/9537.53。因此服务器可将http请求头的用户代理取值设置为正常用户访问网站的取值,即可应对网站对于http请求的属性检测。

进一步地,当所需要抓取数据的网站具备多个反爬虫策略时,服务器还需对http请求头的其他属性的参数取值进行设置,包括对accept-language属性的处理,也就是浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时需要用到,可将请求头属性从accept-language:en-us修改成accept-language:fr,其中,accept-language:en-us表示英文,accept-language:fr表示法语。

上述方法,服务器根据预设规则对多个参数值进行设置,构建符合预设规则的http请求头,并利用http请求头访问正常访问的用户代理,可通过云平台的属性检测,避免出现无法应对云平台的发爬虫策略的问题。

在一个实施例中,提供了一种数据爬取方法,在获取正常访问的用户代理的参数值之前,还包括:

服务器获取预设规则包括的预设用户代理属性规则,以及对应的预设用户代理属性取值;获取http请求头的用户代理属性,以及用户代理属性对应的参数值;将预设用户代理属性取值,与用户代理属性对应的参数值进行比对;当用户代理属性对应的参数值,符合预设用户代理属性取值时,表示http请求头符合预设规则。

具体地,服务器对http请求头的多个属性的参数值进行设置,具体包括对user-agent,即用户代理进行设置,由于一般正常用户访问网站的user-agent:mozilla/5.0(ip地址hone;cpuip地址honeos712likemacosx)applewebkit/537.51.2(khtml,likegecko)version/7.0mobile/11d257safari/9537.53。因此可将正常用户访问网站的取值作为预设的用户代理属性取值,并将预设的用户代理属性取值,与用户代理属性对应的参数值进行比对,当用户代理属性对应的参数值,符合预设用户代理属性取值时,表示http请求头符合预设规则。

上述方法,当服务器判断用户代理属性对应的参数值,符合预设用户代理属性取值时,表示http请求头符合预设规则。表示对应http请求头可通过云平台的属性检测,可提高网络爬虫对于云平台发爬虫策略的应对能力。

应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图4所示,提供了一种数据爬取装置,包括:参数值获取模块402、可用网络爬虫获取模块404、有效ip地址获取模块406、代理ip地址表生成模块408以及数据爬取模块410,其中:

参数值获取模块402,用于接收数据爬取请求,并根据数据爬取请求获取正常访问的用户代理的参数值。

可用网络爬虫获取模块404,用于将网络爬虫的用户代理的取值设置为参数值,获得可用网络爬虫。

有效ip地址获取模块406,利用可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址。

代理ip地址表生成模块408,用于利用代理缓存服务器绑定多个有效ip地址,并根据多个有效ip地址生成代理ip地址表。

数据爬取模块410,用于利用可用网络爬虫,连接代理缓存服务器对应的多个有效ip地址,进行数据爬取。

上述数据爬取装置,服务器通过接收数据爬取请求,并根据数据爬取请求获取正常访问的用户代理的参数值,将网络爬虫的用户代理的取值设置为参数值,获得可用网络爬虫,有利于通过网站对于网络爬虫的属性检测,减少被拦截情况。利用可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址,利用代理缓存服务器绑定多个有效ip地址,并根据多个有效ip地址生成代理ip地址表,利用可用网络爬虫,连接代理缓存服务器对应的多个有效ip地址,进行数据爬取,可及时更换网络爬虫使用的ip地址,保证网络爬虫可使用有效地址,实现数据爬取操作。

在一个实施例中,提供了一种数据爬取装置,该装置还包括代理ip地址表更新模块,用于:

获取代理缓存服务器中的参数机制;根据参数机制,将有效ip地址按照预设格式写入对应的配置文件中;重新加载代理缓存服务器对应的配置文件;刷新代理缓存服务器对应的代理ip地址表,获取更新后的有效ip地址。

上述装置,服务器通过获取代理缓存服务器中的参数机制,并根据参数机制,将有效ip地址按照预设格式写入对应的配置文件中,重新加载代理缓存服务器对应的配置文件,刷新代理缓存服务器对应的代理ip地址表,获取更新后的有效ip地址。可及时更新代理ip地址表,同时获得更新后的有效ip地址,降低无效ip地址获取机率,提高有效ip地址获取效率。

在一个实施例中,提供了一种数据爬取装置,该装置还包括属性参数值设置模块,用于:

获取预设规则;获取http请求头的多个属性以及多个属性对应的参数值;根据预设规则对多个参数值进行设置,构建符合预设规则的http请求头;利用http请求头访问正常访问的用户代理。

上述装置,服务器根据预设规则对多个参数值进行设置,构建符合预设规则的http请求头,并利用http请求头访问正常访问的用户代理,可通过云平台的属性检测,避免出现无法应对云平台的发爬虫策略的问题。

在一个实施例中,提供了一种数据爬取装置,其中,属性参数值设置模块还用于:

获取预设规则包括的预设用户代理属性规则,以及对应的预设用户代理属性取值;获取http请求头的用户代理属性,以及用户代理属性对应的参数值;将预设用户代理属性取值,与用户代理属性对应的参数值进行比对;当用户代理属性对应的参数值,符合预设用户代理属性取值时,表示http请求头符合预设规则。

上述装置,当服务器判断用户代理属性对应的参数值,符合预设用户代理属性取值时,表示http请求头符合预设规则。表示对应http请求头可通过云平台的属性检测,可提高网络爬虫对于云平台发爬虫策略的应对能力。

在一个实施例中,提供了一种数据爬取装置,其中,有效ip地址获取模块还用于:

获取预设的抓取周期;根据预设的抓取周期,在预设的时间内利用可用网络爬虫访问代理网站;获取代理网站上的多个已有ip地址;获取预设规则包括的类别设定和范围设定;根据类别设定和范围设定对多个已有ip地址进行有效性检测;当通过有效性检测时,表示对应的已有ip地址为有效ip地址。

上述装置,服务器通过获取预设规则包括的类别设定和范围设定,并根据类别设定和范围设定对多个已有ip地址进行有效性检测,当通过有效性检测时,表示对应的已有ip地址为有效ip地址。可根据预设规则对已有ip地址进行有效性检测,获得有效ip地址,降低获取到无效ip地址的概率,提高工作效率。

在一个实施例中,提供了一种数据爬取装置,其中,有效ip地址获取模块还用于:

根据多个已有ip地址生成原始表;根据数据爬取请求创建新表;循环读取原始表中的取值,并利用预设规则对原始表中的取值进行有效性判断;当判断原始表中的取值为有效取值时,将原始表中的有效取值插入新表中,生成有效ip地址表;删除原始表中的有效取值;从新表中获取有效ip地址。

上述装置,服务器根据多个已有ip地址生成原始表,根据数据爬取请求创建新表,当判断原始表中的取值为有效取值时,将原始表中的有效取值插入新表中,生成有效ip地址表,从新表中获取有效ip地址。可及时更新有效ip地址,降低无效ip地址出现概率,保证服务器可及时获取有效ip地址。

关于数据爬取装置的具体限定可以参见上文中对于数据爬取方法的限定,在此不再赘述。上述数据爬取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储网站数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据爬取方法。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

接收数据爬取请求,并根据数据爬取请求获取正常访问的用户代理的参数值;

将网络爬虫的用户代理的取值设置为参数值,获得可用网络爬虫;

利用可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址;

利用代理缓存服务器绑定多个有效ip地址,并根据多个有效ip地址生成代理ip地址表;

利用可用网络爬虫,连接代理缓存服务器对应的多个有效ip地址,进行数据爬取。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取预设的抓取周期;

根据预设的抓取周期,在预设的时间内利用可用网络爬虫访问代理网站;

获取代理网站上的多个已有ip地址;

获取预设规则包括的类别设定和范围设定;

根据类别设定和范围设定对多个已有ip地址进行有效性检测;

当通过有效性检测时,表示对应的已有ip地址为有效ip地址。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据多个已有ip地址生成原始表;

根据数据爬取请求创建新表;

循环读取原始表中的取值,并利用预设规则对原始表中的取值进行有效性判断;

当判断原始表中的取值为有效取值时,将原始表中的有效取值插入新表中,生成有效ip地址表;

删除原始表中的有效取值;

从新表中获取有效ip地址。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取代理缓存服务器中的参数机制;

根据参数机制,将有效ip地址按照预设格式写入对应的配置文件中;

重新加载代理缓存服务器对应的配置文件;

刷新代理缓存服务器对应的代理ip地址表,获取更新后的有效ip地址。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取预设规则;

获取http请求头的多个属性以及多个属性对应的参数值;

根据预设规则对多个参数值进行设置,构建符合预设规则的http请求头;

利用http请求头访问正常访问的用户代理。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取预设规则包括的预设用户代理属性规则,以及对应的预设用户代理属性取值;

获取http请求头的用户代理属性,以及用户代理属性对应的参数值;

将预设用户代理属性取值,与用户代理属性对应的参数值进行比对;

当用户代理属性对应的参数值,符合预设用户代理属性取值时,表示http请求头符合预设规则。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

接收数据爬取请求,并根据数据爬取请求获取正常访问的用户代理的参数值;

将网络爬虫的用户代理的取值设置为参数值,获得可用网络爬虫;

利用可用网络爬虫,在预设时间内抓取代理网站上的有效ip地址;

利用代理缓存服务器绑定多个有效ip地址,并根据多个有效ip地址生成代理ip地址表;

利用可用网络爬虫,连接代理缓存服务器对应的多个有效ip地址,进行数据爬取。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取预设的抓取周期;

根据预设的抓取周期,在预设的时间内利用可用网络爬虫访问代理网站;

获取代理网站上的多个已有ip地址;

获取预设规则包括的类别设定和范围设定;

根据类别设定和范围设定对多个已有ip地址进行有效性检测;

当通过有效性检测时,表示对应的已有ip地址为有效ip地址。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据多个已有ip地址生成原始表;

根据数据爬取请求创建新表;

循环读取原始表中的取值,并利用预设规则对原始表中的取值进行有效性判断;

当判断原始表中的取值为有效取值时,将原始表中的有效取值插入新表中,生成有效ip地址表;

删除原始表中的有效取值;

从新表中获取有效ip地址。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取代理缓存服务器中的参数机制;

根据参数机制,将有效ip地址按照预设格式写入对应的配置文件中;

重新加载代理缓存服务器对应的配置文件;

刷新代理缓存服务器对应的代理ip地址表,获取更新后的有效ip地址。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取预设规则;

获取http请求头的多个属性以及多个属性对应的参数值;

根据预设规则对多个参数值进行设置,构建符合预设规则的http请求头;

利用http请求头访问正常访问的用户代理。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取预设规则包括的预设用户代理属性规则,以及对应的预设用户代理属性取值;

获取http请求头的用户代理属性,以及用户代理属性对应的参数值;

将预设用户代理属性取值,与用户代理属性对应的参数值进行比对;

当用户代理属性对应的参数值,符合预设用户代理属性取值时,表示http请求头符合预设规则。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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