CN111277662A - 代理服务器的处理方法、电子设备及存储介质 - Google Patents
代理服务器的处理方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111277662A CN111277662A CN202010075541.6A CN202010075541A CN111277662A CN 111277662 A CN111277662 A CN 111277662A CN 202010075541 A CN202010075541 A CN 202010075541A CN 111277662 A CN111277662 A CN 111277662A
- Authority
- CN
- China
- Prior art keywords
- proxy server
- weight
- preset period
- preset
- target
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5061—Pools of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种代理服务器的处理方法、电子设备及存储介质。方法包括:通过目标代理服务器进行数据爬取,并根据数据爬取的结果对所述目标代理服务器的权重进行更新;其中,所述目标代理服务器为IP池中权重大于第一预设权重的代理服务器。通过代理服务器的权重对代理服务器进行筛选,确定目标代理服务器进行数据爬取,并根据数据爬取的结果对目标代理服务器的权重进行更新,从而根据权重确定是否删除代理服务器,避免了有效代理服务器被误删除,使得IP池具有一批稳定有效的代理服务器,提高了系统资源的利用率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种代理服务器的处理方法、电子设备及存储介质。
背景技术
代理服务器又称为代理IP,其功能是代理网络用户去取得网络信息,它是网络信息的中转站。代理服务器是介于浏览器和WEB服务器之间的一台服务器,由代理服务器来取回浏览器所需要的信息并传送给浏览器。网络中的爬虫是搜索引擎系统中十分重要的组成部分,它负责从互联网中搜集网页采集信息,是一种高效的信息采集利器,利用它可以快速准确地采集各种所需的数据资源。IP池由一段代理IP或多段代理IP或多个代理IP组成,是一个IP范围。
现有技术的爬虫系统中,如果发现IP池中的代理服务器不可用,便会直接将该代理服务器从IP池中删除。如果某个代理服务器在第一天出现可用性波动,第二天又恢复,则第一天可能会被误删除,造成有效代理服务器被误删除。
发明内容
针对现有技术存在的问题,本发明实施例提供一种代理服务器的处理方法、电子设备及存储介质。
第一方面,本发明实施例提供一种代理服务器的处理方法,包括:
通过目标代理服务器进行数据爬取,并根据数据爬取的结果对所述目标代理服务器的权重进行更新;
其中,所述目标代理服务器为IP池中权重大于第一预设权重的代理服务器。
可选地,所述根据数据爬取的结果对所述目标代理服务器的权重进行更新,具体包括:
若数据爬取的结果为失败,则将所述目标代理服务器的权重减去第二预设权重;
或,
若数据爬取的结果为失败,则判断所述目标代理服务器的权重是否大于权重和值;若所述目标代理服务器的权重大于权重和值,则将所述目标代理服务器的权重减去所述第二预设权重;若所述目标代理服务器的权重小于或等于所述权重和值且大于最小权重,则将所述目标代理服务器的权重更新为所述最小权重;
其中,所述权重和值为所述最小权重和所述第二预设权重之和。
可选地,所述代理服务器的处理方法还包括:
每隔第一预设周期,控制IP池中各代理服务器访问预设网站,并根据各代理服务器在各第一预设周期的存活时间,以及访问所述预设网站的成功次数和失败次数,计算得到各代理服务器在各第一预设周期的更新权重;
根据各代理服务器在各第一预设周期的更新权重对各代理服务器的权重进行更新;
其中,所述存活时间为代理服务器在IP池中存活的时间。
可选地,所述根据各代理服务器在各第一预设周期的存活时间,以及访问所述预设网站的成功次数和失败次数,计算得到各代理服务器在各第一预设周期的更新权重,具体包括:
根据各代理服务器在各第一预设周期的存活时间T,以及访问所述预设网站的成功次数X和失败次数Y,计算得到各代理服务器在各第一预设周期的更新权重R:
可选地,所述根据各代理服务器在各第一预设周期的更新权重对各代理服务器的权重进行更新,具体包括:
根据各代理服务器在各第一预设周期的更新权重,计算得到各代理服务器在各第二预设周期的更新权重,并根据各代理服务器在各第二预设周期的更新权重,对各代理服务器的权重进行更新;
其中,所述第二预设周期为所述第一预设周期的整数倍。
可选地,所述根据各代理服务器在各第一预设周期的更新权重,计算得到各代理服务器在各第二预设周期的更新权重,并根据各代理服务器在各第二预设周期的更新权重,对各代理服务器的权重进行更新,具体包括:
根据各代理服务器在各第一预设周期的更新权重Rj,计算得到各代理服务器在各第二预设周期的更新权重avgR:
根据各代理服务器在各第二预设周期的更新权重avgR,得到各代理服务器在各第二预设周期更新后的权重W′:
W′=W+avgR
其中,N为所述第二预设周期与所述第一预设周期的倍数,j为正整数,W为各代理服务器在各第二预设周期更新前的权重。
可选地,所述根据各代理服务器在各第二预设周期的更新权重,对各代理服务器的权重进行更新,具体包括:
若当前代理服务器更新后的权重大于最大权重,则将当前代理服务器更新后的权重设置为所述最大权重。
可选地,所述代理服务器的处理方法还包括:
若判断当前代理服务器的权重小于或等于最小权重,则将当前代理服务器添加至已删除列表中,并将当前代理服务器从所述IP池中删除;
和/或,
抓取新的代理服务器,若判断所述新的代理服务器不在已删除列表中,则将所述新的代理服务器添加至所述IP池中,并将所述新的代理服务器的权重设置为初始权重。
第二方面,本发明实施例还提出一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。
第三方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。
本发明实施例提供的代理服务器的处理方法、电子设备及存储介质,通过代理服务器的权重对代理服务器进行筛选,确定目标代理服务器进行数据爬取,并根据数据爬取的结果对目标代理服务器的权重进行更新,从而根据权重确定是否删除代理服务器,避免了有效代理服务器被误删除,使得IP池具有一批稳定有效的代理服务器,提高了系统资源的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的代理服务器的处理方法的流程示意图;
图2为本发明另一实施例提供的代理服务器的处理方法的流程示意图;
图3为本发明一实施例提供的代理服务器添加的流程示意图;
图4为本发明一实施例提供的代理服务器的处理装置的结构示意图;
图5为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本实施例提供的一种代理服务器的处理方法的流程示意图,包括:
S101、通过目标代理服务器进行数据爬取,并根据数据爬取的结果对所述目标代理服务器的权重进行更新。
其中,所述目标代理服务器为IP池中权重大于第一预设权重的代理服务器,用于执行当前的数据爬取任务。
所述第一预设权重为预先设置的用于筛选执行爬取任务的代理服务器的权重。一般来说,若权重的范围为0-10,则第一预设权重设置为6,因为对于0-10的权重,6是一个及格线,大于或等于6的代理服务器在稳定性上有一定的保证。举例来说,若第一预设权重为6,则接收到爬虫的数据爬取请求后,筛选出IP池中权重大于6的代理服务器,并从筛选出的代理服务器中确定执行数据爬取任务的目标代理服务器。
所述IP池中存储了若干个代理服务器,每个代理服务器均设有一个权重,该权重用于表征当前代理服务器的综合表现,若爬取任务失败,则该权重会进行更新。
具体地,接收到爬虫的数据爬取请求后,对IP池中的代理服务器进行筛选,得到权重大于第一预设权重的目标代理服务器。所述数据爬取请求为网络中的爬虫确定数据爬取任务后,生成的数据爬取请求,以请求IP池中的代理服务器执行数据爬取任务。
所述数据爬取的结果为所述目标代理服务器进行数据爬取的结果,包括成功和失败两种结果:成功表示所述目标代理服务器爬取到了所需的数据,失败表示所述目标代理服务器未爬取到所需的数据。
具体地,在每一次数据爬取后,均需要根据数据爬取的结果,对当前执行爬取任务的代理服务器的权重进行更新,若未完成任务,则减少该代理服务器的权重,方便后续根据权重确定是否从IP池中删除该代理服务器,而不是根据一次任务的执行情况直接确定是否从IP池中删除该代理服务器,避免了有效代理服务器被误删除。
本实施例通过代理服务器的权重对代理服务器进行筛选,确定目标代理服务器进行数据爬取,并根据数据爬取的结果对目标代理服务器的权重进行更新,从而根据权重确定是否删除代理服务器,避免了有效代理服务器被误删除,使得IP池具有一批稳定有效的代理服务器,提高了系统资源的利用率。
进一步地,在上述方法实施例的基础上,S102中所述根据数据爬取的结果对所述目标代理服务器的权重进行更新,具体包括:
若数据爬取的结果为失败,则将所述目标代理服务器的权重减去第二预设权重;
或,
若数据爬取的结果为失败,则判断所述目标代理服务器的权重是否大于权重和值;若所述目标代理服务器的权重大于权重和值,则将所述目标代理服务器的权重减去所述第二预设权重;若所述目标代理服务器的权重小于或等于所述权重和值且大于最小权重,则将所述目标代理服务器的权重更新为所述最小权重。
其中,所述第二预设权重为预先设置的用于代理服务器数据爬取失败时减少的权重。
所述权重和值为所述最小权重和所述第二预设权重之和。
具体地,在对目标代理服务器的权重进行更新的过程中,包括两种实施方式:
在第一种实施方式中,不考虑最小权重,即一旦数据爬取的结果为失败,则直接减去第二预设权重。例如,第二预设权重为5,最小权重为0,若目标代理服务器当前的权重为8,则当目标代理服务器数据爬取失败时,其权重更新为8-5=3;若目标代理服务器当前的权重为4,则当目标代理服务器数据爬取失败时,其权重更新为4-5=-1。
在第二种实施方式中,为了保证更新后的权重大于或等于最小权重,则首先需要计算权重和值,然后基于权重和值和目标代理服务器的权重进行比较:
当所述目标代理服务器的权重大于权重和值时,将所述目标代理服务器的权重减去所述第二预设权重。例如,第二预设权重为5,最小权重为3,若目标代理服务器当前的权重为9,由于9大于5+3,因此当目标代理服务器数据爬取失败时,其权重更新为9-5=4;
当所述目标代理服务器的权重小于或等于权重和值且大于最小权重时,将所述目标代理服务器的权重更新为所述最小权重。例如,第二预设权重为5,最小权重为3,若目标代理服务器当前的权重为6,由于6小于5+3且大于3,因此当目标代理服务器数据爬取失败时,其权重直接更新为3。
通过区分不同的情形来更新目标代理服务器的权重,当不考虑最小权值时更新方式更为简便,当考虑最小权重时,更新方式更为科学,同时结合目标代理服务器的数据爬取结果,使得IP池中每个代理服务器的权重能够在一定程度上表征该代理服务器的数据爬取能力。
举例来说,在实际使用过程中,IP池存在一个192.168.0.15的ip,进入IP池时,权重为10。在某一天使用该IP时,发现通过该代理IP(代理服务器)抓取数据返回失败,现有技术会直接把该代理IP设置为不可用,并从IP池中删除。这样有可能会导致该IP被误删除,因为代理IP的有效性并不是一直稳定的。本实施例不会将该代理IP删除,而是把他的权重减去5,这样192.168.0.15的IP在IP池中的权重变为5。5小于及格分数6,所以暂时不会给爬虫使用。
通过上述执行步骤,在确定代理服务器不可用后,再进行删除,在一段时间内避免进入IP池。短暂时间不可用的代理IP,给一定留存时间,待代理服务器可用后,重新发送给爬虫使用。
进一步地,在上述方法实施例的基础上,所述代理服务器的处理方法还包括:
每隔第一预设周期,控制IP池中各代理服务器访问预设网站,并根据各代理服务器在各第一预设周期的存活时间,以及访问所述预设网站的成功次数和失败次数,计算得到各代理服务器在各第一预设周期的更新权重;
根据各代理服务器在各第一预设周期的更新权重对各代理服务器的权重进行更新。
其中,所述第一预设周期为预先设置的周期,例如一小时、一天、两天或一周。
所述存活时间为代理服务器在IP池中存活的时间。
所述访问所述预设网站的成功次数为在第一预设周期内各代理服务器成功访问所述预设网站的次数。
所述访问所述预设网站的失败次数为在第一预设周期内各代理服务器未成功访问所述预设网站的次数。
例如代理服务器在一小时内访问了预设网站20次,其中成功访问16次,还有4次未成功访问,则该代理服务器在一小时内访问预设网站的成功次数为16,失败次数为4。
所述更新权重为各代理服务器当前的权重需增加或减少的权重值。
具体地,IP池中的各代理服务器在使用过程中,并非每个代理服务器均会频繁用到,对于部分的代理服务器,可能存在长期未使用而导致其数据爬取能力降低,但是由于其权重未更新,会误导后续代理服务器的选择,因此需要定期对IP池中的代理服务器的权重进行更新。
进一步地,在上述方法实施例的基础上,所述根据各代理服务器在各第一预设周期的存活时间,以及访问所述预设网站的成功次数和失败次数,计算得到各代理服务器在各第一预设周期的更新权重,具体包括:
根据各代理服务器在各第一预设周期的存活时间T,以及访问所述预设网站的成功次数X和失败次数Y,计算得到各代理服务器在各第一预设周期的更新权重R:
具体地,当代理服务器访问预设网站成功时,能够在一定程度上反映该代理服务器的数据爬取能力是合格的,因此在更新权重时需要增加权重;而当代理服务器访问预设网站失败时,能够在一定程度上反映该代理服务器的数据爬取能力是不合格的,因此在更新权重时需要减小权重。
X-Y表示代理服务器访问预设网站成功次数与失败次数的差值,反映了代理服务器在第一预设周期的存活时间T内对权重的贡献值,可能为正数,也可能为负数。
举例来说,代理服务器在一小时内一直存活,并未被删除,则其存活时间为一小时;在该一小时内,该代理服务器访问某一个网站10次,成功了8次,失败了2次,则该代理服务器在该一小时的更新权重为(8-2)/1=6。
通过代理服务器的存活时间以及访问的成功次数和失败次数来确定更新权重,能够表示各代理服务器在不同时期的数据爬取能力。
进一步地,在上述方法实施例的基础上,所述根据各代理服务器在各第一预设周期的更新权重对各代理服务器的权重进行更新,具体包括:
根据各代理服务器在各第一预设周期的更新权重,计算得到各代理服务器在各第二预设周期的更新权重,并根据各代理服务器在各第二预设周期的更新权重,对各代理服务器的权重进行更新;
其中,所述第二预设周期为所述第一预设周期的整数倍。
具体地,为了从不同维度表示代理服务器的数据爬取能力,通过第一预设周期,统计各代理服务器的更新权重,同时通过更长时间维度的第二预设周期,统计各代理服务器的更新权重,方便用户从不同时间维度对各代理服务器的权重进行更新。
进一步地,在上述方法实施例的基础上,所述根据各代理服务器在各第一预设周期的更新权重,计算得到各代理服务器在各第二预设周期的更新权重,并根据各代理服务器在各第二预设周期的更新权重,对各代理服务器的权重进行更新,具体包括:
根据各代理服务器在各第一预设周期的更新权重Rj,计算得到各代理服务器在各第二预设周期的更新权重avgR:
根据各代理服务器在各第二预设周期的更新权重avgR,得到各代理服务器在各第二预设周期更新后的权重W′:
W′=W+avgR (3)
其中,N为所述第二预设周期与所述第一预设周期的倍数,j为正整数,W为各代理服务器在各第二预设周期更新前的权重。
举例来说,通过对某一个网站(例如百度)发起HTTP请求,并为该请求设置代理服务器,如果请求正确返回,则证明该代理服务器可用,如果返回失败,则证明该代理服务器失效。每小时验证完毕,记录该代理服务器请求的成功次数和失败次数。假设代理服务器在一天内24小时的更新权重分别为5、5、5、5、5、5、6、6、6、6、6、6、4、4、4、4、4、4、-2、-2、-2、-2、-2、-2,则根据公式(2)可得该代理服务器在该天的更新权重为3.25。若该代理服务器更新之前的权重为6,则更新后的权重为6+3.25=9.25。
通过每日更新各代理服务器的权重,能够保证IP池中每个代理服务器的权重真实反映其实际的数据爬取能力。
进一步地,所述根据各代理服务器在各第二预设周期的更新权重,对各代理服务器的权重进行更新,具体包括:
若当前代理服务器更新后的权重大于最大权重,则将当前代理服务器更新后的权重设置为所述最大权重。
进一步地,所述代理服务器的处理方法还包括:
若判断当前代理服务器的权重小于或等于所述最小权重,则将当前代理服务器添加至已删除列表中,并将当前代理服务器从所述IP池中删除。
具体地,在对各代理服务器的权重进行更新时:
当当前代理服务器的权重大于最大权重时,直接将当前代理服务器的权重设置为最大权重。例如,当前代理服务器的权重更新后为12,由于12大于最大权重10,因此当前代理服务器的权重更新为10。
通过控制每个代理服务器的权重不超过最大权重,使得IP池中每个代理服务器的权重能够在一定程度上表征该代理服务器实际的数据爬取能力,而避免过度依赖代理服务器的历史爬取能力,无法反映当前真实爬取能力的情形。
进一步地,在上述方法实施例的基础上,所述代理服务器的处理方法还包括:
抓取新的代理服务器,若判断所述新的代理服务器不在所述已删除列表中,则将所述新的代理服务器添加至IP池中,并将所述新的代理服务器的权重设置为初始权重。
具体地,每天从互联网抓取新的代理服务器,例如免费的代理服务器,并将获取到的新的代理服务器放入到系统的IP池中。但在放入IP池之前,首先将新抓取的代理服务器的IP与已删除列表中的IP做对比。其中,已删除列表存储于数据库中。对已删除列表进行遍历,如果发现已删除列表中存储的IP与新抓取的代理服务器的IP相同,证明这个IP已经被系统验证过,是失效的,则直接抛弃;如果已删除列表中不存在该新IP,则将该新IP加进入IP池中,具体如图2所示。
现有技术在IP池更新代理服务器时可能会反复抓取到已被删除的代理服务器,造成系统资源的浪费。而本实施例在抓取代理服务器后,首先与已删除列表进行比对后,再添加至IP池,使得IP池具有一批稳定有效的代理服务器,提高了系统资源的利用率。
举例来说,本实施例提供的代理服务器的处理方法在执行过程中,可以包括以下步骤:
首先,每天从互联网抓取免费的代理IP(代理服务器),并将获取到的代理IP放入到系统IP池中。在放入IP池之前,首先与已删除列表进行比对,若不在已删除列表中,则将该新IP加进入IP池。如图3所示,新抓取的IP为127.0.0.X,然后遍历已删除IP表(已删除列表)中所有的IP,如果该新IP在表中存在,则不保存该新IP,否则将新IP加入IP池中。
爬虫在互联网上爬取数据时,为了防止固定的IP被屏蔽,因此需要频繁更换代理IP,当为爬虫设置代理IP时,则向IP池索要代理IP,通过对IP池进行遍历比较,从IP池中筛选出权重大于6的代理IP,回复给爬虫。选取6的原因是因为满分为10,6算是一个及格分数线,大于或等于6的IP在稳定性上有一定的保证。
爬虫在使用代理IP过程中,如果发现该代理IP突然失效,即抓取目标网站数据返回失败的时候,通知IP池将该IP的权重减去5,并记录在IP池表中。IP池表类似如下:
IP | 分值 |
127.0.0.1 | 8 |
127.0.0.2 | 6 |
127.0.1.5 | 10 |
127.0.5.7 | 3 |
127.0.2.14 | 7 |
每天遍历IP池中所有IP,使用这些IP访问一个固定目标测试网站,比如www.baidu.com,用来验证IP是否有效。如果可以正常访问,证明有效,根据公式(2)计算更新权重,将现有的权重增加或减少该更新权重。如果某代理IP权重为0或负分,证明该IP已经失效,则把该IP从IP池中删除,即放入到已删除列表中。
经过以上的机制及流程,IP池会有一批稳定可用的代理IP,为爬虫抓取数据提供服务。并且为IP池提供了稳定的更新机制,当代理IP肯定失效,彻底删除。如果代理IP偶尔一天不稳定,被减去1分,但是该IP的权值只要不是0或负分,就暂时不会被删除,当该IP之后又开始稳定,通过该代理IP可以稳定获取互联网数据,那么此套流程会为该代理IP加分,这样可以让有效的IP在一个数值间波动,避免这种类型的IP被直接误删除。
具体地,在实际使用过程中,IP池存在一个192.168.0.15的代理IP(代理服务器),刚进入IP池时,权重值为0分。通过公式(2)验证该代理IP,当权重值大于6分后,分配给爬虫使用。在某一次使用该代理IP时,发现通过该代理IP抓取数据返回失败,一般通用的代理IP管理方式,会直接把该代理IP设置为不可用,并从IP池中删除,这样有可能会导致该代理IP被误删除,因为代理IP的有效性并不是一直稳定的。而本实施例不会将该代理IP删除,而是把他的权重分值减去5分,这样192.168.0.15的IP在IP池中的分值变为W-5分(W为当前权重值)。W-5分数肯定小于及格分数6分,所以暂时不会给生产爬虫使用。
第二天,进行权重更新校验时,发起一个使用代理IP 192.168.0.15的请求去访问测试网站(例如:www.baidu.com),如果发现能够正确返回数据了,那么使用公式(2)和(3)重新为192.168.0.15更新权重。
第三天、第四天、第五天等等,权重更新校验时会一直做类似的校验测试,当该代理IP的权重大于6分时,那么该代理IP就可以提供给生产爬虫继续使用。如果代理IP的权值分数被减到0或负数,证明该代理IP确实是不可用的,已彻底失效,那么将代理IP从IP池中删除并放入到已删除IP表。通过不断更新,有效但不稳定的代理IP会在一个数值范围内波动,不会被当作失效的IP误删除。提高了代理IP的利用率,并且增加了生产系统代理IP的稳定性。
本实施例提供的IP池具有自我良好的更新机制,保证有效的代理IP不会被误删除,无效的代理IP肯定被删除,并且避免无效的IP再次进入IP池。提高了系统资源的有效性、稳定性,同时提高了代理服务器的利用率。
图4示出了本实施例提供的一种代理服务器的处理装置的结构示意图,所述装置包括:权重更新模块401,其中:
所述权重更新模块401用于通过目标代理服务器进行数据爬取,并根据数据爬取的结果对所述目标代理服务器的权重进行更新;
其中,所述目标代理服务器为IP池中权重大于第一预设权重的代理服务器。
具体地,所述权重更新模块401通过目标代理服务器进行数据爬取,并根据数据爬取的结果对所述目标代理服务器的权重进行更新。
本实施例通过代理服务器的权重对代理服务器进行筛选,确定目标代理服务器进行数据爬取,并根据数据爬取的结果对目标代理服务器的权重进行更新,从而根据权重确定是否删除代理服务器,避免了有效代理服务器被误删除,使得IP池具有一批稳定有效的代理服务器,提高了系统资源的利用率。
进一步地,在上述装置实施例的基础上,所述权重更新模块401具体用于:
若数据爬取的结果为失败,则将所述目标代理服务器的权重减去第二预设权重;
或,
若数据爬取的结果为失败,则判断所述目标代理服务器的权重是否大于权重和值;若所述目标代理服务器的权重大于权重和值,则将所述目标代理服务器的权重减去所述第二预设权重;若所述目标代理服务器的权重小于或等于所述权重和值且大于最小权重,则将所述目标代理服务器的权重更新为所述最小权重;
其中,所述权重和值为所述最小权重和所述第二预设权重之和。
进一步地,在上述装置实施例的基础上,所述代理服务器的处理装置还包括:
权重计算模块,用于每隔第一预设周期,控制IP池中各代理服务器访问预设网站,并根据各代理服务器在各第一预设周期的存活时间,以及访问所述预设网站的成功次数和失败次数,计算得到各代理服务器在各第一预设周期的更新权重;
更新模块,用于根据各代理服务器在各第一预设周期的更新权重对各代理服务器的权重进行更新;
其中,所述存活时间为代理服务器在IP池中存活的时间。
进一步地,在上述装置实施例的基础上,所述权重计算模块具体用于:
根据各代理服务器在各第一预设周期的存活时间T,以及访问所述预设网站的成功次数X和失败次数Y,计算得到各代理服务器在各第一预设周期的更新权重R:
进一步地,在上述装置实施例的基础上,所述更新模块具体用于:
根据各代理服务器在各第一预设周期的更新权重,计算得到各代理服务器在各第二预设周期的更新权重,并根据各代理服务器在各第二预设周期的更新权重,对各代理服务器的权重进行更新;
其中,所述第二预设周期为所述第一预设周期的整数倍。
进一步地,在上述装置实施例的基础上,所述更新模块具体用于:
根据各代理服务器在各第一预设周期的更新权重Rj,计算得到各代理服务器在各第二预设周期的更新权重avgR:
根据各代理服务器在各第二预设周期的更新权重avgR,得到各代理服务器在各第二预设周期更新后的权重W′:
W′=W+avgR
其中,N为所述第二预设周期与所述第一预设周期的倍数,j为正整数,W为各代理服务器在各第二预设周期更新前的权重。
进一步地,在上述装置实施例的基础上,所述更新模块具体用于:
若当前代理服务器更新后的权重大于最大权重,则将当前代理服务器更新后的权重设置为所述最大权重。
进一步地,在上述装置实施例的基础上,所述代理服务器的处理装置还包括:
代理删除模块,用于若判断当前代理服务器的权重小于或等于最小权重,则将当前代理服务器添加至已删除列表中,并将当前代理服务器从所述IP池中删除;
和/或,
代理添加模块,用于抓取免费的代理服务器,若判断所述免费的代理服务器不在所述已删除列表中,则将所述免费的代理服务器添加至IP池中,并将所述免费的代理服务器的权重设置为初始权重。
图5示出了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储器503中的逻辑指令,以执行如下方法:
通过目标代理服务器进行数据爬取,并根据数据爬取的结果对所述目标代理服务器的权重进行更新;
其中,所述目标代理服务器为IP池中权重大于第一预设权重的代理服务器。
需要说明的是,本实施例中的电子设备在具体实现时可以为服务器,也可以为PC机,还可以为其他设备,只要其结构中包括如图5所示的处理器501、通信接口502、存储器503和通信总线504,其中处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,且处理器501可以调用存储器503中的逻辑指令以执行上述方法即可。本实施例不对电子设备的具体实现形式进行限定。
此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
通过目标代理服务器进行数据爬取,并根据数据爬取的结果对所述目标代理服务器的权重进行更新;
其中,所述目标代理服务器为IP池中权重大于第一预设权重的代理服务器。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:
通过所述目标代理服务器进行数据爬取,并根据数据爬取的结果对所述目标代理服务器的权重进行更新;
其中,所述目标代理服务器为IP池中权重大于第一预设权重的代理服务器。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种代理服务器的处理方法,其特征在于,包括:
通过目标代理服务器进行数据爬取,并根据数据爬取的结果对所述目标代理服务器的权重进行更新;
其中,所述目标代理服务器为IP池中权重大于第一预设权重的代理服务器。
2.根据权利要求1所述的代理服务器的处理方法,其特征在于,所述根据数据爬取的结果对所述目标代理服务器的权重进行更新,具体包括:
若数据爬取的结果为失败,则将所述目标代理服务器的权重减去第二预设权重;
或,
若数据爬取的结果为失败,则判断所述目标代理服务器的权重是否大于权重和值;若所述目标代理服务器的权重大于权重和值,则将所述目标代理服务器的权重减去所述第二预设权重;若所述目标代理服务器的权重小于或等于所述权重和值且大于最小权重,则将所述目标代理服务器的权重更新为所述最小权重;
其中,所述权重和值为所述最小权重和所述第二预设权重之和。
3.根据权利要求1所述的代理服务器的处理方法,其特征在于,所述代理服务器的处理方法还包括:
每隔第一预设周期,控制IP池中各代理服务器访问预设网站,并根据各代理服务器在各第一预设周期的存活时间,以及访问所述预设网站的成功次数和失败次数,计算得到各代理服务器在各第一预设周期的更新权重;
根据各代理服务器在各第一预设周期的更新权重对各代理服务器的权重进行更新;
其中,所述存活时间为代理服务器在IP池中存活的时间。
5.根据权利要求4所述的代理服务器的处理方法,其特征在于,所述根据各代理服务器在各第一预设周期的更新权重对各代理服务器的权重进行更新,具体包括:
根据各代理服务器在各第一预设周期的更新权重,计算得到各代理服务器在各第二预设周期的更新权重,并根据各代理服务器在各第二预设周期的更新权重,对各代理服务器的权重进行更新;
其中,所述第二预设周期为所述第一预设周期的整数倍。
7.根据权利要求5所述的代理服务器的处理方法,其特征在于,所述根据各代理服务器在各第二预设周期的更新权重,对各代理服务器的权重进行更新,具体包括:
若当前代理服务器更新后的权重大于最大权重,则将当前代理服务器更新后的权重设置为所述最大权重。
8.根据权利要求1-7任一项所述的代理服务器的处理方法,其特征在于,所述代理服务器的处理方法还包括:
若判断当前代理服务器的权重小于或等于最小权重,则将当前代理服务器添加至已删除列表中,并将当前代理服务器从所述IP池中删除;
和/或,
抓取新的代理服务器,若判断所述新的代理服务器不在已删除列表中,则将所述新的代理服务器添加至所述IP池中,并将所述新的代理服务器的权重设置为初始权重。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述的代理服务器的处理方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至8任一项所述的代理服务器的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010075541.6A CN111277662B (zh) | 2020-01-22 | 2020-01-22 | 代理服务器的处理方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010075541.6A CN111277662B (zh) | 2020-01-22 | 2020-01-22 | 代理服务器的处理方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111277662A true CN111277662A (zh) | 2020-06-12 |
CN111277662B CN111277662B (zh) | 2022-11-08 |
Family
ID=70999160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010075541.6A Active CN111277662B (zh) | 2020-01-22 | 2020-01-22 | 代理服务器的处理方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111277662B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822306A (zh) * | 2021-02-03 | 2021-05-18 | 深圳前海微众银行股份有限公司 | 代理ip动态管理方法、设备及计算机可读存储介质 |
CN114500278A (zh) * | 2021-12-30 | 2022-05-13 | 武汉思普崚技术有限公司 | 一种通过代理服务器升级特征库的方法和装置 |
CN117714537A (zh) * | 2024-02-06 | 2024-03-15 | 湖南四方天箭信息科技有限公司 | 一种访问方法、装置、终端和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030041095A1 (en) * | 2001-08-10 | 2003-02-27 | Konda Suresh L. | Method and system for data transformation in a heterogeneous computer system |
US20090161554A1 (en) * | 2005-03-14 | 2009-06-25 | Microsoft Corporation | Cooperative diagnosis of web transaction failures |
CN103902386A (zh) * | 2014-04-11 | 2014-07-02 | 复旦大学 | 一种基于连接代理优化管理的多线程网络爬虫处理方法 |
CN107832355A (zh) * | 2017-10-23 | 2018-03-23 | 北京金堤科技有限公司 | 一种爬虫程序的代理获取的方法及装置 |
CN108924199A (zh) * | 2018-06-21 | 2018-11-30 | 中山英迈锐信息技术有限公司 | 爬虫程序自动获取网络代理服务器的方法、装置、计算机存储介质及终端设备 |
CN110062025A (zh) * | 2019-03-14 | 2019-07-26 | 深圳绿米联创科技有限公司 | 数据采集的方法、装置、服务器及存储介质 |
-
2020
- 2020-01-22 CN CN202010075541.6A patent/CN111277662B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030041095A1 (en) * | 2001-08-10 | 2003-02-27 | Konda Suresh L. | Method and system for data transformation in a heterogeneous computer system |
US20090161554A1 (en) * | 2005-03-14 | 2009-06-25 | Microsoft Corporation | Cooperative diagnosis of web transaction failures |
CN103902386A (zh) * | 2014-04-11 | 2014-07-02 | 复旦大学 | 一种基于连接代理优化管理的多线程网络爬虫处理方法 |
CN107832355A (zh) * | 2017-10-23 | 2018-03-23 | 北京金堤科技有限公司 | 一种爬虫程序的代理获取的方法及装置 |
CN108924199A (zh) * | 2018-06-21 | 2018-11-30 | 中山英迈锐信息技术有限公司 | 爬虫程序自动获取网络代理服务器的方法、装置、计算机存储介质及终端设备 |
CN110062025A (zh) * | 2019-03-14 | 2019-07-26 | 深圳绿米联创科技有限公司 | 数据采集的方法、装置、服务器及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822306A (zh) * | 2021-02-03 | 2021-05-18 | 深圳前海微众银行股份有限公司 | 代理ip动态管理方法、设备及计算机可读存储介质 |
CN112822306B (zh) * | 2021-02-03 | 2022-07-29 | 深圳前海微众银行股份有限公司 | 代理ip动态管理方法、设备及计算机可读存储介质 |
CN114500278A (zh) * | 2021-12-30 | 2022-05-13 | 武汉思普崚技术有限公司 | 一种通过代理服务器升级特征库的方法和装置 |
CN114500278B (zh) * | 2021-12-30 | 2024-04-09 | 武汉思普崚技术有限公司 | 一种通过代理服务器升级特征库的方法和装置 |
CN117714537A (zh) * | 2024-02-06 | 2024-03-15 | 湖南四方天箭信息科技有限公司 | 一种访问方法、装置、终端和存储介质 |
CN117714537B (zh) * | 2024-02-06 | 2024-04-16 | 湖南四方天箭信息科技有限公司 | 一种访问方法、装置、终端和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111277662B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111277662B (zh) | 代理服务器的处理方法、电子设备及存储介质 | |
US11159649B2 (en) | Systems and methods of rate limiting for a representational state transfer (REST) application programming interface (API) | |
CN107301215B (zh) | 一种搜索结果缓存方法及装置、搜索方法及装置 | |
CN112134954A (zh) | 服务请求处理方法、装置、电子设备及存储介质 | |
CN109241733A (zh) | 基于Web访问日志的爬虫行为识别方法及装置 | |
CN111381988A (zh) | 一种请求限速方法、装置、电子设备及存储介质 | |
CN113591068A (zh) | 一种在线登录设备管理方法、装置及电子设备 | |
CN110430062B (zh) | 登录请求处理方法、装置、设备及介质 | |
CN112988812A (zh) | 库存数据的处理方法、装置、设备及存储介质 | |
CN115827646B (zh) | 索引配置方法、装置和电子设备 | |
CN110442801B (zh) | 一种目标事件的关注用户的确定方法及装置 | |
CN109995889B (zh) | 映射关系表的更新方法、装置、网关设备及存储介质 | |
CN113918776B (zh) | 数据缓存方法、装置及电子设备及数据查询方法 | |
JP6835507B2 (ja) | 不正アクセス検出装置、不正アクセス検出方法およびコンピュータプログラム | |
CN115865507A (zh) | 一种爬虫识别方法、系统、装置及可读存储介质 | |
US20220147583A1 (en) | System and method for quality based ranking of patents | |
CN110333968B (zh) | 应用于数据库的数据管理方法、装置及计算机设备 | |
CN114417200A (zh) | 网络数据的采集方法、装置及电子设备 | |
CN114143263A (zh) | 一种对用户请求进行限流的方法、设备及介质 | |
CN112214506A (zh) | 一种信息采集方法、装置及存储介质 | |
CN107453946B (zh) | 字段管理方法及装置和电子设备 | |
CN111769965B (zh) | 信息处理方法、装置和设备 | |
CN116132528B (zh) | 一种航班管理消息的推送方法、装置及电子设备 | |
JP7037628B2 (ja) | 不正アクセス検出装置、不正アクセス検出方法およびコンピュータプログラム | |
CN116049326B (zh) | 医疗器械知识库构建方法、电子设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |