CN107832355A - 一种爬虫程序的代理获取的方法及装置 - Google Patents
一种爬虫程序的代理获取的方法及装置 Download PDFInfo
- Publication number
- CN107832355A CN107832355A CN201710993998.3A CN201710993998A CN107832355A CN 107832355 A CN107832355 A CN 107832355A CN 201710993998 A CN201710993998 A CN 201710993998A CN 107832355 A CN107832355 A CN 107832355A
- Authority
- CN
- China
- Prior art keywords
- agency
- queue
- detection
- effectively
- detected
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Quality & Reliability (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施例公开了一种爬虫程序的代理获取的方法及装置,该方法针对第一队列中的可用代理,通过第二检测得到有效代理。在接收到爬虫程序通过有效代理抓取待抓取网页的返回信息后,根据该返回信息更新该有效代理的评价参数。通过评价参数将“高质量”的代理添加至第二队列。由于从第二队列中每隔第一预设时间段将“高质量”代理添加至第一队列,避免了该网络爬虫频繁从第一队列中获取该代理导致该有效代理被禁的情况。该方法通过第二队列实现了对代理按照“质量”进行层次区分,第二队列每隔第一预设时间段向第一队列添加有效代理,避免了对“高质量”代理的频繁使用,也及时补充了第一队列中的代理数量,提高了爬虫程序的采集信息的效率。
Description
技术领域
本发明实施例涉及大数据分析技术领域,尤其是涉及一种爬虫程序的代理获取的方法及装置。
背景技术
爬虫是一种按照一定的规则,自动地抓取信息的程序或者脚本。随着大数据产业的发展,用于数据信息采集的爬虫技术成为重要环节。爬虫程序通常使用大批第三方代理IP轮寻切换以采集信息,从而避免使用过于频繁而被禁。
然而,通常所获得的大批第三方代理并不一定都是有效可用的,有很多都是无效代理;而且有的代理访问速度慢,采集效率低;有时频繁使用同一代理,导致了代理被封。而且代理提供商提供的代理大致在3-5分钟内失效,需要不断地补充代理队列,但有时不能及时填补,这些都对爬虫采集效率造成了很大影响。在现有技术中,会通过降低“低质量”代理的使用次数来提高效率。例如,为了提高爬虫的采集效率,频繁使用“高质量”代理,易导致“高质量”代理失效,降低爬虫的采集效率。另一方面,对爬虫程序对应的代理队列没有及时更新措施,常常导致爬虫程序无代理可用。
在实现本发明实施例的过程中,发明人发现现有的爬虫程序对代理的使用缺乏基于“质量”的区分层次且无法及时补充爬虫程序对应的代理队列,导致爬虫的采集效率较低。
发明内容
本发明所要解决的技术问题是如何解决现有的爬虫程序对代理的使用缺乏基于“质量”的区分层次且无法及时补充爬虫程序对应的代理队列,导致爬虫的采集效率较低的问题。
针对以上技术问题,本发明的实施例提供了一种爬虫程序的代理获取的方法,包括:
获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,将所述有效代理发送给预设的爬虫程序,并将所述有效代理从所述第一队列移除;
接收到所述爬虫程序返回的通过所述有效代理是否成功抓取待抓取网页的返回信息后,根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,若所述评价参数大于或等于第一阈值,则将所述有效代理添加到第二队列;
每隔第一预设时间段,从所述第二队列中获取预设数量的代理,作为待添加代理,将所述待添加代理添加至所述第一队列,并将所述待添加代理从所述第二队列移除。
可选地,所述获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,包括:
每隔第二预设时间段,根据预设的代理库中的代理生成代理列表,针对所述代理列表中的每一代理进行所述第一检测,将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列。
可选地,所述将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列,包括:
获取所述第一队列中每一可用代理对应的评价参数,得到评价参数大于或等于第二阈值的可用代理,作为第一待检测代理,并将评价参数小于所述第二阈值的可用代理从所述第一队列移除;
针对每一所述第一待检测代理,获取所述第一待检测代理最近一次添加至所述第一队列的添加时间点,若所述添加时间点和当前时间点之间的时间间隔大于第三预设时间段,则移除所述第一待检测代理;
将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列。
可选地,所述针对所述代理列表中的每一代理进行所述第一检测,包括:
循环获取所述代理列表中的任一未被遍历的代理作为第二待检测代理,执行判断所述第二待检测代理是否能在第四预设时间段内成功通过Socket方式与用于检测能否建立Socket连接的代理服务器建立连接,若是,则判断对所述第二待检测代理的第一检测的检测结果为合格的操作,直到遍历所述代理列表中的每一代理;
或者,
循环获取所述代理列表中的任一未被遍历的代理作为第三待检测代理,执行判断所述第三待检测代理是否能通过预设接口抓取预设网页,若是,则判断对所述第三待检测代理的第一检测的检测结果为合格的操作,直到遍历所述代理列表中的每一代理。
可选地,所述从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,包括:
循环从所述第一队列中获取未被遍历的可用代理,作为第四待检测代理,执行所述第二检测,直到得到所述第二检测合格的可用代理,或者遍历了所述第一队列中的所有可用代理,将所述第二检测合格的可用代理作为有效代理;
其中,所述第二检测包括:
循环执行通过所述第四待检测代理抓取所述待抓取网页对应的测试页的操作,直到通过所述第四待检测代理抓取所述测试页成功,或者通过所述第四待检测代理抓取所述测试页的次数大于预设次数;
若检测到通过所述第四待检测代理抓取所述测试页成功,则对所述第四待检测代理进行第二检测的检测结果为合格;
若检测到通过所述第四待检测代理抓取所述测试页的次数大于所述预设次数,则对所述第四待检测代理进行第二检测的检测结果为不合格。
可选地,所述根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,包括:
获取当前记录的所述爬虫程序通过所述有效代理抓取网页的总次数,以及所述爬虫程序通过所述有效代理抓取网页成功的成功次数;
若所述返回信息为通过所述有效代理成功抓取所述待抓取所述待抓取网页,则在所述成功次数和所述总次数上分别累加一次,计算累加后的成功次数和累加后的总次数的比值,作为所述评价参数;
若所述返回信息为通过所述有效代理未成功抓取所述待抓取所述待抓取网页,则在所述总次数上累加一次,计算当前记录的成功次数和累加后的总次数的比值,作为所述评价参数。
可选地,还包括:
若所述评价参数小于所述第一阈值且大于或等于第三阈值,则将所述有效代理添加到所述第一队列;
若所述评价参数小于所述第三阈值,则丢弃所述有效代理。
第二方面,本发明的实施例提供了一种爬虫程序的代理获取的装置,包括:
获取模块,用于获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,将所述有效代理发送给预设的爬虫程序,并将所述有效代理从所述第一队列移除;
判断模块,用于接收到所述爬虫程序返回的通过所述有效代理是否成功抓取待抓取网页的返回信息后,根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,若所述评价参数大于或等于第一阈值,则将所述有效代理添加到第二队列;
添加模块,用于每隔第一预设时间段,从所述第二队列中获取预设数量的代理,作为待添加代理,将所述待添加代理添加至所述第一队列,并将所述待添加代理从所述第二队列移除。
可选地,所述获取模块还用于每隔第二预设时间段,根据预设的代理库中的代理生成代理列表,针对所述代理列表中的每一代理进行所述第一检测,将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列。
可选地,所述获取模块还用于获取所述第一队列中每一可用代理对应的评价参数,得到评价参数大于或等于第二阈值的可用代理,作为第一待检测代理,并将评价参数小于所述第二阈值的可用代理从所述第一队列移除;针对每一所述第一待检测代理,获取所述第一待检测代理最近一次添加至所述第一队列的添加时间点,若所述添加时间点和当前时间点之间的时间间隔大于第三预设时间段,则移除所述第一待检测代理;将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列。
可选地,所述获取模块还用于循环获取所述代理列表中的任一未被遍历的代理作为第二待检测代理,执行判断所述第二待检测代理是否能在第四预设时间段内成功通过Socket方式与用于检测能否建立Socket连接的代理服务器建立连接,若是,则判断对所述第二待检测代理的第一检测的检测结果为合格的操作,直到遍历所述代理列表中的每一代理;
或者,
循环获取所述代理列表中的任一未被遍历的代理作为第三待检测代理,执行判断所述第三待检测代理是否能通过预设接口抓取预设网页,若是,则判断对所述第三待检测代理的第一检测的检测结果为合格的操作,直到遍历所述代理列表中的每一代理。
可选地,所述获取模块还用于循环从所述第一队列中获取未被遍历的可用代理,作为第四待检测代理,执行所述第二检测,直到得到所述第二检测合格的可用代理,或者遍历了所述第一队列中的所有可用代理,将所述第二检测合格的可用代理作为有效代理;
其中,所述第二检测包括:
循环执行通过所述第四待检测代理抓取所述待抓取网页对应的测试页的操作,直到通过所述第四待检测代理抓取所述测试页成功,或者通过所述第四待检测代理抓取所述测试页的次数大于预设次数;
若检测到通过所述第四待检测代理抓取所述测试页成功,则对所述第四待检测代理进行第二检测的检测结果为合格;
若检测到通过所述第四待检测代理抓取所述测试页的次数大于所述预设次数,则对所述第四待检测代理进行第二检测的检测结果为不合格。
可选地,所述判断模块还用于获取当前记录的所述爬虫程序通过所述有效代理抓取网页的总次数,以及所述爬虫程序通过所述有效代理抓取网页成功的成功次数;若所述返回信息为通过所述有效代理成功抓取所述待抓取所述待抓取网页,则在所述成功次数和所述总次数上分别累加一次,计算累加后的成功次数和累加后的总次数的比值,作为所述评价参数;若所述返回信息为通过所述有效代理未成功抓取所述待抓取所述待抓取网页,则在所述总次数上累加一次,计算当前记录的成功次数和累加后的总次数的比值,作为所述评价参数。
可选地,所述判断模块还用于若所述评价参数小于所述第一阈值且大于或等于第三阈值,则将所述有效代理添加到所述第一队列;若所述评价参数小于所述第三阈值,则丢弃所述有效代理。
第三方面,本发明的实施例提供了一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行以上任一所述的方法。
第四方面,本发明的实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以上任一所述的方法。
本发明的实施例提供了一种爬虫程序的代理获取的方法及装置,该方法针对第一队列中的可用代理,通过第二检测得到有效代理。在接收到爬虫程序通过有效代理抓取待抓取网页的返回信息后,根据该返回信息更新该有效代理的评价参数。当通过评价参数得知该有效代理为“高质量”代理后,将该有效代理添加至第二队列。由于第二队列中的“高质量”代理每隔第一预设时间段添加至第一队列,因此避免了该网络爬虫频繁从第一队列中获取该有效代理导致该有效代理被禁的情况。该方法通过第二队列实现了对代理按照“质量”进行层次区分,第二队列每隔第一预设时间段向第一队列添加有效代理,避免了对“高质量”代理的频繁使用,也及时补充了第一队列中的代理数量,提高了爬虫程序的采集信息的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的爬虫程序的代理获取的方法的流程示意图;
图2是本发明另一个实施例提供的爬虫程序的代理获取的装置的结构框图;
图3是本发明另一个实施例提供的电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本实施例提供的爬虫程序的代理获取的方法的流程示意图,参见图1,该方法包括:
101:获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,将所述有效代理发送给预设的爬虫程序,并将所述有效代理从所述第一队列移除;
102:接收到所述爬虫程序返回的通过所述有效代理是否成功抓取待抓取网页的返回信息后,根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,若所述评价参数大于或等于第一阈值,则将所述有效代理添加到第二队列;
103:每隔第一预设时间段,从所述第二队列中获取预设数量的代理,作为待添加代理,将所述待添加代理添加至所述第一队列,并将所述待添加代理从所述第二队列移除。
需要说明的是,本实施例提供的方法由能够执行上述方法的终端或者服务器执行。该方法提供了爬虫程序获取代理的方法,通过该方法有效了避免了“高质量”代理因频繁使用导致的失效,从而提高了爬虫程序抓取网页信息的效率。
需要说明的是,可用代理是从预设的代理库中经过第一检测筛选出来的代理,预设的代理库中存储了各个代理提供商提供的代理。待抓取网页为某个网站的页面,例如,抓取用户访问百度网站的信息,则待抓取网页为用户当前通过百度打开的网页。爬虫通过有效代理抓取待抓取网页后,会生成返回信息,返回信息记录了爬虫程序通过有效代理是否成功抓取待抓取网页的信息,例如,当返回信息为预设的返回值或者状态码时,表明爬虫程序通过有效代理成功抓取待抓取网页,否则,表明爬虫程序通过有效代理未成功抓取待抓取网页。评价参数为反应通过该有效代理能成功抓取网页的概率的参数,即反应了代理“质量”的参数。评价参数可以为成功率,也可以是通过其它方法表示的有效代理能成功抓取网页的概率的参数,本实施例对此不做具体限制。
可理解的是,预设数量为每次添加至第一队列中的有效代理的数量,预设数量可以为多个或者一个,本实施例对此不做具体限制。此外,每个代理(proxy)具有属性,其中,属性包括:IP、端口和评分score(即评价参数,第一次将该代理添加到第一队列时,将score初始化为0)和取得代理的时间Create Time(即将该代理添加到第一队列时的添加时间点)。
进一步地,所述第一阈值的取值范围满足区间[0.6,0.8]。进一步地,所述第一阈值为0.75。
进一步地,所述第一预设时间段的取值范围满足区间[2s,5s]。进一步地,所述第一预设时间段为3s。进一步地,所述预设数量小于等于3个。进一步地,所述预设数量为1个。
本实施例提供了一种爬虫程序的代理获取的方法,该方法针对第一队列中的可用代理,通过第二检测得到有效代理。在接收到爬虫程序通过有效代理抓取待抓取网页的返回信息后,根据该返回信息更新该有效代理的评价参数。当通过评价参数得知该有效代理为“高质量”代理后,将该有效代理添加至第二队列。由于第二队列中的“高质量”代理每隔第一预设时间段添加至第一队列,因此避免了该网络爬虫频繁从第一队列中获取该有效代理导致该有效代理被禁的情况。该方法通过第二队列实现了对代理按照“质量”进行层次区分,第二队列每隔第一预设时间段向第一队列添加有效代理,避免了对“高质量”代理的频繁使用,也及时补充了第一队列中的代理数量,提高了爬虫程序的采集信息的效率。
进一步地,在上述实施例的基础上,所述获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,包括:
每隔第二预设时间段,根据预设的代理库中的代理生成代理列表,针对所述代理列表中的每一代理进行所述第一检测,将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列。
第二预设时间段通常根据代理的失效时间确定,由于第一队列中的代理经过一段时间后会失效,为了保证第一队列中始终存在未失效的代理,每隔第二预设时间段从代理库中经过第一检测筛选可用代理添加至第一队列中。预设的代理库可以是所有能够搜集到的代理组成的代理库,也可以是特定的代理提供商提供的代理组成的代理库。
可理解的是,第二预设时间段小于代理能存活的时间段。例如,代理存活的时间段为5分钟,则第二预设时间段应小于5分钟,例如,第二预设时间段为3分钟。进一步地,所述第二预设时间段小于5min。所述第二预设时间段为3min。
进一步地,所述每隔第二预设时间段,根据预设的代理库中的代理生成代理列表,针对所述代理列表中的每一代理进行所述第一检测,将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列,包括:
每隔第二预设时间段,判断所述第一队列中的可用代理的数量,若所述数量小于预设的剩余代理数量,则根据预设的代理库中的代理生成代理列表,针对所述代理列表中的每一代理进行所述第一检测,将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列。
本实施例提供了一种爬虫程序的代理获取的方法,该方法不断地每隔第二预设时间段向第一队列添加新的代理,保证了第一队列中的代理数量的稳定,避免了第一队列中没有代理可用的情况。
进一步地,在上述各实施例的基础上,所述将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列,包括:
获取所述第一队列中每一可用代理对应的评价参数,得到评价参数大于或等于第二阈值的可用代理,作为第一待检测代理,并将评价参数小于所述第二阈值的可用代理从所述第一队列移除;
针对每一所述第一待检测代理,获取所述第一待检测代理最近一次添加至所述第一队列的添加时间点,若所述添加时间点和当前时间点之间的时间间隔大于第三预设时间段,则移除所述第一待检测代理;
将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列。
需要说明的是,评价参数属于代理的属性,根据每一代理的属性即可得到每一代理的评价参数。将第一队列中评价参数大于或等于第二阈值的可用代理作为第一待检测代理,第一待检测代理可以由多个。进而,针对每一第一待检测代理,检测该第一待检测代理是否已经失效(即检测时间间隔是否大于第三预设时间段),若失效,则将该第一待检测代理从第一队列移除。失效的第一待检测代理的移除提高了从第一队列中获取有效代理的概率,从而提高了爬虫程序抓取网页的效率。通常,第三预设时间段等于代理存活的时间长度,例如,第三预设时间段等于3min。
进一步地,若所述时间间隔小于或等于所述第三预设时间段,则不做处理。
进一步地,所述第二阈值的取值范围满足区间[0.4,0.6]。进一步地,所述第二阈值为0.5。
本实施例提供了一种爬虫程序的代理获取的方法,该方法在将经过第一检测合格的可用代理添加至第一队列之前,对第一队列中的代理的是否失效进行检测,将失效的代理从第一队列移除。同时,该方法通过第二阈值将第一队列中评价参数小于第二阈值的“低质量”可用代理移除。“低质量”可用代理的移除和失效的可用代理的移除提高了从第一队列中获取有效代理的概率,从而提高了爬虫程序抓取网页的效率。
进一步地,在上述各实施例的基础上,所述针对所述代理列表中的每一代理进行所述第一检测,包括:
循环获取所述代理列表中的任一未被遍历的代理作为第二待检测代理,执行判断所述第二待检测代理是否能在第四预设时间段内成功通过Socket方式与用于检测能否建立Socket连接的代理服务器建立连接,若是,则判断对所述第二待检测代理的第一检测的检测结果为合格的操作,直到遍历所述代理列表中的每一代理;
或者,
循环获取所述代理列表中的任一未被遍历的代理作为第三待检测代理,执行判断所述第三待检测代理是否能通过预设接口抓取预设网页,若是,则判断对所述第三待检测代理的第一检测的检测结果为合格的操作,直到遍历所述代理列表中的每一代理。
作为一种并列的技术方案,进一步地,所述针对所述代理列表中的每一代理进行所述第一检测,包括:
循环获取所述代理列表中的任一未被遍历的代理作为第五待检测代理,执行判断所述第二待检测代理是否能在第四预设时间段内成功通过Socket方式与用于检测能否建立Socket连接的代理服务器建立连接,若是,判断所述第五待检测代理是否能通过预设接口抓取预设网页,若是,则判断对所述第五待检测代理的第一检测的检测结果为合格的操作,直到遍历所述代理列表中的每一代理。
需要说明的是,本实施例提供了三种对代理进行第一检测的方法,其中,判断所述第二待检测代理是否能在第四预设时间段内成功通过Socket连接方式与用于检测能否建立Socket连接的代理服务器建立连接为“弱检测”。判断判断所述第三待检测代理是否能通过预设接口抓取预设网页为“强检测”。单一的通过“弱检测”或者“强检测”可以实现对代理进行第一检测,将“弱检测”和“强检测”结合也能实现对代理进行第一检测,本实施例对采用以上何种检测方式实现对代理的第一检测不做具体限制。
预设网页可以是待抓取网页也可以不是待抓取网页,本实施例对此不做具体限制。
例如:“弱检测”为通过socket连接在指定时间(第四预设时间段)内是否可连接来判定。“强检测”为通过请求自有服务的接口(预设接口),如https://www.tianyancha.com/myip或百度页面(Test page1)等等,返回指定值或状态码(通过返回指定值或状态码判断是否能通过预设接口成功抓取预设网页),判断是否成功。
本实施例提供了一种爬虫程序的代理获取的方法,该方法提供了如何对代理进行第一检测的方法,通过该方法可以快速筛选出可用代理添加到第一队列中。
进一步地,在上述各实施例的基础上,所述从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,包括:
循环从所述第一队列中获取未被遍历的可用代理,作为第四待检测代理,执行所述第二检测,直到得到所述第二检测合格的可用代理,或者遍历了所述第一队列中的所有可用代理,将所述第二检测合格的可用代理作为有效代理;
其中,所述第二检测包括:
循环执行通过所述第四待检测代理抓取所述待抓取网页对应的测试页的操作,直到通过所述第四待检测代理抓取所述测试页成功,或者通过所述第四待检测代理抓取所述测试页的次数大于预设次数;
若检测到通过所述第四待检测代理抓取所述测试页成功,则对所述第四待检测代理进行第二检测的检测结果为合格;
若检测到通过所述第四待检测代理抓取所述测试页的次数大于所述预设次数,则对所述第四待检测代理进行第二检测的检测结果为不合格。
进一步地,若检测到通过所述第四待检测代理抓取所述测试页的次数大于所述预设次数,则对所述第四待检测代理进行第二检测的检测结果为不合格,还包括:
若检测到通过所述第四待检测代理抓取所述测试页的次数大于所述预设次数,则对所述第四待检测代理进行第二检测的检测结果为不合格,将所述第四待检测代理从第一队列移除。
需要说明的是,第二检测是将待抓取网页对应的测试页作为测试对象,只有在预设次数内检测到第四待检测代理抓取所述测试页成功,则判定对该第四待检测代理的第二检测合格。测试页可以是网站的首页或者指定的某个页面,或者某个接口。
进一步地,所述预设次数为3次。
具体地,通过请求目标待抓取网页(待抓取网页)的测试页url(如首页或首页下其它网页,或者某个接口),根据返回值或状态码,判断是否成功(可配置成功或失败时,匹配返回值内容或状态码)。当一次请求不通过时,再次请求,每个Proxy(代理)最多请求三次。若都不通过,则抛弃此Proxy,重新从Queue1(第一队列)取下一个Proxy,执行测试,直到Proxy通过验证,返回给爬虫。
本实施例提供了一种爬虫程序的代理获取的方法,该方法提供了如何对代理进行第二检测的方法,通过该方法可以快速从第一队列中筛选出有效代理,提高了爬虫程序通过有效代理抓取待抓取网页的效率。
进一步地,在上述各实施例的基础上,所述根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,包括:
获取当前记录的所述爬虫程序通过所述有效代理抓取网页的总次数,以及所述爬虫程序通过所述有效代理抓取网页成功的成功次数;
若所述返回信息为通过所述有效代理成功抓取所述待抓取所述待抓取网页,则在所述成功次数和所述总次数上分别累加一次,计算累加后的成功次数和累加后的总次数的比值,作为所述评价参数;
若所述返回信息为通过所述有效代理未成功抓取所述待抓取所述待抓取网页,则在所述总次数上累加一次,计算当前记录的成功次数和累加后的总次数的比值,作为所述评价参数。
具体地,爬虫程序完成一次抓取流程后,返回代理Proxy对象,同时返回一个Boolean值标识抓取成功失败状态,根据Boolean值更新score(评价参数)。需要说明的是,代理第一次加入第一队列时,success Num(成功次数)和use Count(总次数)均为0,通过公式score=success Num/use Count计算score。例如,若返回true(通过所述有效代理成功抓取所述待抓取所述待抓取网页),则success Num加1,use Count加1。若返回false(通过所述有效代理未成功抓取所述待抓取所述待抓取网页),则success Num不变,use Count加1。一个代理多次使用,通过将成功次数与使用次数的比值来判断该代理的“质量”优劣。
本实施例提供了一种爬虫程序的代理获取的方法,该方法提供了计算代理的评价参数的方法,通过该方法可以实现对代理的评价参数的快速计算。
进一步地,在上述各实施例的基础上,还包括:
若所述评价参数小于所述第一阈值且大于或等于第三阈值,则将所述有效代理添加到所述第一队列;
若所述评价参数小于所述第三阈值,则丢弃所述有效代理。
需要说明的是,丢弃所述有效代理也就是不将所述有效代理添加到第一队列。
进一步地,所述第三阈值的取值范围满足区间[0.15,0.35]。进一步地,所述第二阈值为0.25。
本实施例提供了一种爬虫程序的代理获取的方法,该方法在计算代理的评价参数后,若评价参数小于第三阈值,则丢弃该代理,在第一队列中保留了评价参数较高的代理,保证了第一队列中维持一定量较高质量的代理,丢弃“低质量”代理,提高了爬虫程序成功抓取待抓取网页的效率。
作为一种具体的实施例,本实施例提供的爬虫程序的代理获取的方法包括:
(1)获取代理列表list(代理列表)。
每个代理(proxy)的属性包括:IP、端口和评分score(评价参数,初始化为0)和取得代理的时间Create Time(添加时间点,即加入主队列queue1(第一队列)时的时间)。
(2)检测每个代理(通过第一检测检测),将合格的代理放到主队列queue1(第一队列)中,并将代理使用次数(总次数)初始化为0。
检测方法(第一检测的方法)为:
弱检测:通过socket连接在指定时间内是否可连接来判定;
和/或
强检测:通过请求自有服务的接口(预设接口),如https://www.tianyancha.com/myip或百度页面(Test page 1)等等,返回指定值或状态码,判断是否成功。
通过该检测方法,可以得到可用代理,但不一定是对于待爬取网站(待抓取网页,Test page 2)的有效代理,需要下一步验证。
(3)爬虫从主队列queue1中获取一个代理(可用代理)(IP+端口),进行信息采集。
具体地,获取这个代理(可用代理)时,要给爬虫直接返回代理Proxy对象,或者进行验证后返回代理Proxy对象。若验证通过,则为有效代理。
验证方式:通过请求目标待抓取网页(待抓取网页)的测试页url(如首页或首页下其它网页,或者某个接口),根据返回值或状态码,判断是否成功(可配置成功或失败时,匹配返回值内容或状态码)。当一次请求不通过时,再次请求,每个Proxy最多请求三次(预设次数)。若都不通过,则抛弃此Proxy,重新从Queue1取下一个Proxy,执行测试,直到Proxy通过验证,返回给爬虫(爬虫程序)。这样,有效代理被爬虫获取后,同时从主队列queue1中移除。
(4)当爬虫使用完这个代理后,返回抓取状态(true/false);
爬虫完成一次抓取流程后,返回代理Proxy对象,同时返回一个Boolean值(返回信息)标识抓取成功失败状态,根据Boolean值更新score(评价参数)。
Score=success Num/use Count;
其中,success Num(成功次数)初值为0,若返回true,则success Num和use Count均加1。若返回false,则success Num不变useCount加1。通过将成功次数与使用次数的比值来判断该代理的“质量”优劣。
(5)判断爬虫返回的Proxy对象score值,如果score<=0.25(第三阈值),则抛弃该代理,不再放入主队列;若score>=0.75(第一阈值),则将该代理放入缓存队列Queue2(第二队列),也不放入Queue1(短时间内使用很多,为了提高使用间隔,防止被封);若0.25<score<0.75,则将该代理放回Queue1。例如,规定Score大于0.75的为“高质量”代理。
缓存队列(第二队列)每隔预定时间(第一预设时间段,如3S)将其中一个Proxy对象(代理)放入Queue1中。
此外,在指定时间T(第二预设时间段)后,再次从代理提供商获取新代理(预设的代理库),并在将新代理放入Queue1之前抛弃当前Queue1内score<0.5(第二阈值)的代理,并判断0.5<score<0.75的代理的create time(添加时间点)与当前时间(当前时间点)的时间差(时间间隔),差大于指定阈值时间(第三预设时间段),则抛弃。缓存队列Queue2中的优质代理继续放入,由此不断地得到高质量的代理。
本实施例提供的方法不断地鉴别代理的质量,从中剔除无效或失效的代理,提取出有效的质量较高的代理,以用于接下来的信息爬取,满足了高频率下提高代理可用性。另一方面,由于代理质量的时效的不确定性,有时队列Queue1中的代理会不足阈值。所以本发明每隔预定时间,监控Queue1中的个数,当不足阈值时,主动获取新代理放入队列Queue1中。这种方法能根据Queue1剩余代理数量,重新获得代理。避免了当指定时间T还没到,但是代理池中已经没有代理时,爬虫无代理可用,不能进行抓取的情况。
图2示出了本发明的实施例提供的一种爬虫程序的代理获取的装置的结构框图,参见图2,本实施例提供的一种爬虫程序的代理获取的装置,包括获取模块201、判断模块202和添加模块203,其中,
获取模块201,用于获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,将所述有效代理发送给预设的爬虫程序,并将所述有效代理从所述第一队列移除;
判断模块202,用于接收到所述爬虫程序返回的通过所述有效代理是否成功抓取待抓取网页的返回信息后,根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,若所述评价参数大于或等于第一阈值,则将所述有效代理添加到第二队列;
添加模块203,用于每隔第一预设时间段,从所述第二队列中获取预设数量的代理,作为待添加代理,将所述待添加代理添加至所述第一队列,并将所述待添加代理从所述第二队列移除。
本实施例提供的爬虫程序的代理获取的装置适用于上述实施例中提供的爬虫程序的代理获取的方法,在此不再赘述。
本发明的实施例提供了一种爬虫程序的代理获取的装置,该装置针对第一队列中的可用代理,通过第二检测得到有效代理。在接收到爬虫程序通过有效代理抓取待抓取网页的返回信息后,根据该返回信息更新该有效代理的评价参数。当通过评价参数得知该有效代理为“高质量”代理后,将该有效代理添加至第二队列。由于第二队列中的“高质量”代理每隔第一预设时间段添加至第一队列,因此避免了该网络爬虫频繁从第一队列中获取该有效代理导致该有效代理被禁的情况。该装置通过第二队列实现了对代理按照“质量”进行层次区分,第二队列每隔第一预设时间段向第一队列添加有效代理,避免了对“高质量”代理的频繁使用,也及时补充了第一队列中的代理数量,提高了爬虫程序的采集信息的效率。
第三方面,图3是示出本实施例提供的电子设备的结构框图。
参照图3,包括:至少一个处理器(processor)301;
以及与所述处理器301连接的至少一个存储器(memory)302、总线303;其中,
所述处理器301、存储器302通过所述总线303完成相互间的通信;
所述处理器301用于调用所述存储器802中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,将所述有效代理发送给预设的爬虫程序,并将所述有效代理从所述第一队列移除;接收到所述爬虫程序返回的通过所述有效代理是否成功抓取待抓取网页的返回信息后,根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,若所述评价参数大于或等于第一阈值,则将所述有效代理添加到第二队列;每隔第一预设时间段,从所述第二队列中获取预设数量的代理,作为待添加代理,将所述待添加代理添加至所述第一队列,并将所述待添加代理从所述第二队列移除。
第四方面,本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,将所述有效代理发送给预设的爬虫程序,并将所述有效代理从所述第一队列移除;接收到所述爬虫程序返回的通过所述有效代理是否成功抓取待抓取网页的返回信息后,根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,若所述评价参数大于或等于第一阈值,则将所述有效代理添加到第二队列;每隔第一预设时间段,从所述第二队列中获取预设数量的代理,作为待添加代理,将所述待添加代理添加至所述第一队列,并将所述待添加代理从所述第二队列移除。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,将所述有效代理发送给预设的爬虫程序,并将所述有效代理从所述第一队列移除;接收到所述爬虫程序返回的通过所述有效代理是否成功抓取待抓取网页的返回信息后,根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,若所述评价参数大于或等于第一阈值,则将所述有效代理添加到第二队列;每隔第一预设时间段,从所述第二队列中获取预设数量的代理,作为待添加代理,将所述待添加代理添加至所述第一队列,并将所述待添加代理从所述第二队列移除。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。
Claims (10)
1.一种爬虫程序的代理获取的方法,其特征在于,包括:
获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,将所述有效代理发送给预设的爬虫程序,并将所述有效代理从所述第一队列移除;
接收到所述爬虫程序返回的通过所述有效代理是否成功抓取待抓取网页的返回信息后,根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,若所述评价参数大于或等于第一阈值,则将所述有效代理添加到第二队列;
每隔第一预设时间段,从所述第二队列中获取预设数量的代理,作为待添加代理,将所述待添加代理添加至所述第一队列,并将所述待添加代理从所述第二队列移除。
2.根据权利要求1所述的方法,其特征在于,所述获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,包括:
每隔第二预设时间段,根据预设的代理库中的代理生成代理列表,针对所述代理列表中的每一代理进行所述第一检测,将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列。
3.根据权利要求2所述的方法,其特征在于,所述将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列,包括:
获取所述第一队列中每一可用代理对应的评价参数,得到评价参数大于或等于第二阈值的可用代理,作为第一待检测代理,并将评价参数小于所述第二阈值的可用代理从所述第一队列移除;
针对每一所述第一待检测代理,获取所述第一待检测代理最近一次添加至所述第一队列的添加时间点,若所述添加时间点和当前时间点之间的时间间隔大于第三预设时间段,则移除所述第一待检测代理;
将所述代理列表中第一检测合格的代理作为可用代理添加到所述第一队列。
4.根据权利要求2所述的方法,其特征在于,所述针对所述代理列表中的每一代理进行所述第一检测,包括:
循环获取所述代理列表中的任一未被遍历的代理作为第二待检测代理,执行判断所述第二待检测代理是否能在第四预设时间段内成功通过Socket方式与用于检测能否建立Socket连接的代理服务器建立连接,若是,则判断对所述第二待检测代理的第一检测的检测结果为合格的操作,直到遍历所述代理列表中的每一代理;
或者,
循环获取所述代理列表中的任一未被遍历的代理作为第三待检测代理,执行判断所述第三待检测代理是否能通过预设接口抓取预设网页,若是,则判断对所述第三待检测代理的第一检测的检测结果为合格的操作,直到遍历所述代理列表中的每一代理。
5.根据权利要求1所述的方法,其特征在于,所述从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,包括:
循环从所述第一队列中获取未被遍历的可用代理,作为第四待检测代理,执行所述第二检测,直到得到所述第二检测合格的可用代理,或者遍历了所述第一队列中的所有可用代理,将所述第二检测合格的可用代理作为有效代理;
其中,所述第二检测包括:
循环执行通过所述第四待检测代理抓取所述待抓取网页对应的测试页的操作,直到通过所述第四待检测代理抓取所述测试页成功,或者通过所述第四待检测代理抓取所述测试页的次数大于预设次数;
若检测到通过所述第四待检测代理抓取所述测试页成功,则对所述第四待检测代理进行第二检测的检测结果为合格;
若检测到通过所述第四待检测代理抓取所述测试页的次数大于所述预设次数,则对所述第四待检测代理进行第二检测的检测结果为不合格。
6.根据权利要求1所述的方法,其特征在于,所述根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,包括:
获取当前记录的所述爬虫程序通过所述有效代理抓取网页的总次数,以及所述爬虫程序通过所述有效代理抓取网页成功的成功次数;
若所述返回信息为通过所述有效代理成功抓取所述待抓取所述待抓取网页,则在所述成功次数和所述总次数上分别累加一次,计算累加后的成功次数和累加后的总次数的比值,作为所述评价参数;
若所述返回信息为通过所述有效代理未成功抓取所述待抓取所述待抓取网页,则在所述总次数上累加一次,计算当前记录的成功次数和累加后的总次数的比值,作为所述评价参数。
7.根据权利要求1所述的方法,其特征在于,还包括:
若所述评价参数小于所述第一阈值且大于或等于第三阈值,则将所述有效代理添加到所述第一队列;
若所述评价参数小于所述第三阈值,则丢弃所述有效代理。
8.一种爬虫程序的代理获取的装置,其特征在于,包括:
获取模块,用于获取经第一检测合格的代理作为可用代理,将可用代理添加到第一队列,从所述第一队列中获取经第二检测合格的可用代理,作为有效代理,将所述有效代理发送给预设的爬虫程序,并将所述有效代理从所述第一队列移除;
判断模块,用于接收到所述爬虫程序返回的通过所述有效代理是否成功抓取待抓取网页的返回信息后,根据所述返回信息更新与通过所述有效代理抓取信息对应的成功率相关的评价参数,若所述评价参数大于或等于第一阈值,则将所述有效代理添加到第二队列;
添加模块,用于每隔第一预设时间段,从所述第二队列中获取预设数量的代理,作为待添加代理,将所述待添加代理添加至所述第一队列,并将所述待添加代理从所述第二队列移除。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710993998.3A CN107832355B (zh) | 2017-10-23 | 2017-10-23 | 一种爬虫程序的代理获取的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710993998.3A CN107832355B (zh) | 2017-10-23 | 2017-10-23 | 一种爬虫程序的代理获取的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107832355A true CN107832355A (zh) | 2018-03-23 |
CN107832355B CN107832355B (zh) | 2019-03-26 |
Family
ID=61648854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710993998.3A Active CN107832355B (zh) | 2017-10-23 | 2017-10-23 | 一种爬虫程序的代理获取的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832355B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595543A (zh) * | 2018-04-08 | 2018-09-28 | 北京知道创宇信息技术有限公司 | 数据抓取方法、装置及网络爬虫系统 |
CN108924199A (zh) * | 2018-06-21 | 2018-11-30 | 中山英迈锐信息技术有限公司 | 爬虫程序自动获取网络代理服务器的方法、装置、计算机存储介质及终端设备 |
CN109508422A (zh) * | 2018-12-05 | 2019-03-22 | 南京邮电大学 | 多线程智能调度的高匿爬虫系统 |
CN110062025A (zh) * | 2019-03-14 | 2019-07-26 | 深圳绿米联创科技有限公司 | 数据采集的方法、装置、服务器及存储介质 |
CN110149419A (zh) * | 2019-05-23 | 2019-08-20 | 上海睿翎法律咨询服务有限公司 | 基于ip的高效爬虫方法 |
CN110147271A (zh) * | 2019-05-15 | 2019-08-20 | 重庆八戒传媒有限公司 | 提升爬虫代理质量的方法、装置及计算机可读存储介质 |
CN111125478A (zh) * | 2018-10-30 | 2020-05-08 | 北京国双科技有限公司 | 数据的爬取方法及装置 |
CN111277662A (zh) * | 2020-01-22 | 2020-06-12 | 咪咕文化科技有限公司 | 代理服务器的处理方法、电子设备及存储介质 |
CN111488507A (zh) * | 2020-04-09 | 2020-08-04 | 西安影视数据评估中心有限公司 | 一种网络代理的优选方法 |
CN111756850A (zh) * | 2020-06-29 | 2020-10-09 | 金电联行(北京)信息技术有限公司 | 一种服务于互联网数据采集的代理ip请求频率自动调整方法 |
US11595496B2 (en) | 2013-08-28 | 2023-02-28 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11611607B2 (en) | 2009-10-08 | 2023-03-21 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11657110B2 (en) | 2019-02-25 | 2023-05-23 | Bright Data Ltd. | System and method for URL fetching retry mechanism |
US11711233B2 (en) | 2017-08-28 | 2023-07-25 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11757961B2 (en) | 2015-05-14 | 2023-09-12 | Bright Data Ltd. | System and method for streaming content from multiple servers |
US11902253B2 (en) | 2019-04-02 | 2024-02-13 | Bright Data Ltd. | System and method for managing non-direct URL fetching service |
US12003569B2 (en) | 2023-04-23 | 2024-06-04 | Bright Data Ltd. | System providing faster and more efficient data communication |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020103823A1 (en) * | 2001-02-01 | 2002-08-01 | International Business Machines Corporation | Method and system for extending the performance of a web crawler |
CN103902386A (zh) * | 2014-04-11 | 2014-07-02 | 复旦大学 | 一种基于连接代理优化管理的多线程网络爬虫处理方法 |
CN105740384A (zh) * | 2016-01-27 | 2016-07-06 | 浪潮软件集团有限公司 | 一种爬虫代理自动切换方法及装置 |
CN106534244A (zh) * | 2015-09-14 | 2017-03-22 | 中国移动通信集团公司 | 一种代理资源的调度方法及装置 |
CN107169006A (zh) * | 2017-03-31 | 2017-09-15 | 北京奇艺世纪科技有限公司 | 一种管理爬虫代理的方法及装置 |
-
2017
- 2017-10-23 CN CN201710993998.3A patent/CN107832355B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020103823A1 (en) * | 2001-02-01 | 2002-08-01 | International Business Machines Corporation | Method and system for extending the performance of a web crawler |
CN103902386A (zh) * | 2014-04-11 | 2014-07-02 | 复旦大学 | 一种基于连接代理优化管理的多线程网络爬虫处理方法 |
CN106534244A (zh) * | 2015-09-14 | 2017-03-22 | 中国移动通信集团公司 | 一种代理资源的调度方法及装置 |
CN105740384A (zh) * | 2016-01-27 | 2016-07-06 | 浪潮软件集团有限公司 | 一种爬虫代理自动切换方法及装置 |
CN107169006A (zh) * | 2017-03-31 | 2017-09-15 | 北京奇艺世纪科技有限公司 | 一种管理爬虫代理的方法及装置 |
Cited By (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11671476B2 (en) | 2009-10-08 | 2023-06-06 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11962636B2 (en) | 2009-10-08 | 2024-04-16 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11956299B2 (en) | 2009-10-08 | 2024-04-09 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11949729B2 (en) | 2009-10-08 | 2024-04-02 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11916993B2 (en) | 2009-10-08 | 2024-02-27 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11902351B2 (en) | 2009-10-08 | 2024-02-13 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11888921B2 (en) | 2009-10-08 | 2024-01-30 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11888922B2 (en) | 2009-10-08 | 2024-01-30 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11876853B2 (en) | 2009-10-08 | 2024-01-16 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11838119B2 (en) | 2009-10-08 | 2023-12-05 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11811849B2 (en) | 2009-10-08 | 2023-11-07 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11811850B2 (en) | 2009-10-08 | 2023-11-07 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11811848B2 (en) | 2009-10-08 | 2023-11-07 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11611607B2 (en) | 2009-10-08 | 2023-03-21 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11616826B2 (en) | 2009-10-08 | 2023-03-28 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11770435B2 (en) | 2009-10-08 | 2023-09-26 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11659018B2 (en) | 2009-10-08 | 2023-05-23 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11659017B2 (en) | 2009-10-08 | 2023-05-23 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11700295B2 (en) | 2009-10-08 | 2023-07-11 | Bright Data Ltd. | System providing faster and more efficient data communication |
US11924307B2 (en) | 2013-08-28 | 2024-03-05 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11729297B2 (en) | 2013-08-28 | 2023-08-15 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11985212B2 (en) | 2013-08-28 | 2024-05-14 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11677856B2 (en) | 2013-08-28 | 2023-06-13 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11689639B2 (en) | 2013-08-28 | 2023-06-27 | Bright Data Ltd. | System and method for improving Internet communication by using intermediate nodes |
US11985210B2 (en) | 2013-08-28 | 2024-05-14 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11979475B2 (en) | 2013-08-28 | 2024-05-07 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11949756B2 (en) | 2013-08-28 | 2024-04-02 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11949755B2 (en) | 2013-08-28 | 2024-04-02 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11838386B2 (en) | 2013-08-28 | 2023-12-05 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11758018B2 (en) | 2013-08-28 | 2023-09-12 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11838388B2 (en) | 2013-08-28 | 2023-12-05 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11924306B2 (en) | 2013-08-28 | 2024-03-05 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11902400B2 (en) | 2013-08-28 | 2024-02-13 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11870874B2 (en) | 2013-08-28 | 2024-01-09 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11799985B2 (en) | 2013-08-28 | 2023-10-24 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11595496B2 (en) | 2013-08-28 | 2023-02-28 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US11757961B2 (en) | 2015-05-14 | 2023-09-12 | Bright Data Ltd. | System and method for streaming content from multiple servers |
US11888638B2 (en) | 2017-08-28 | 2024-01-30 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11979250B2 (en) | 2017-08-28 | 2024-05-07 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11979249B2 (en) | 2017-08-28 | 2024-05-07 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11711233B2 (en) | 2017-08-28 | 2023-07-25 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11863339B2 (en) | 2017-08-28 | 2024-01-02 | Bright Data Ltd. | System and method for monitoring status of intermediate devices |
US11962430B2 (en) | 2017-08-28 | 2024-04-16 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11956094B2 (en) | 2017-08-28 | 2024-04-09 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11876612B2 (en) | 2017-08-28 | 2024-01-16 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11888639B2 (en) | 2017-08-28 | 2024-01-30 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11729013B2 (en) | 2017-08-28 | 2023-08-15 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11729012B2 (en) | 2017-08-28 | 2023-08-15 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11757674B2 (en) | 2017-08-28 | 2023-09-12 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11909547B2 (en) | 2017-08-28 | 2024-02-20 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11902044B2 (en) | 2017-08-28 | 2024-02-13 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
US11764987B2 (en) | 2017-08-28 | 2023-09-19 | Bright Data Ltd. | System and method for monitoring proxy devices and selecting therefrom |
CN108595543A (zh) * | 2018-04-08 | 2018-09-28 | 北京知道创宇信息技术有限公司 | 数据抓取方法、装置及网络爬虫系统 |
CN108924199A (zh) * | 2018-06-21 | 2018-11-30 | 中山英迈锐信息技术有限公司 | 爬虫程序自动获取网络代理服务器的方法、装置、计算机存储介质及终端设备 |
CN111125478A (zh) * | 2018-10-30 | 2020-05-08 | 北京国双科技有限公司 | 数据的爬取方法及装置 |
CN111125478B (zh) * | 2018-10-30 | 2023-05-12 | 北京国双科技有限公司 | 数据的爬取方法及装置 |
CN109508422A (zh) * | 2018-12-05 | 2019-03-22 | 南京邮电大学 | 多线程智能调度的高匿爬虫系统 |
US11657110B2 (en) | 2019-02-25 | 2023-05-23 | Bright Data Ltd. | System and method for URL fetching retry mechanism |
US11675866B2 (en) | 2019-02-25 | 2023-06-13 | Bright Data Ltd. | System and method for URL fetching retry mechanism |
CN110062025A (zh) * | 2019-03-14 | 2019-07-26 | 深圳绿米联创科技有限公司 | 数据采集的方法、装置、服务器及存储介质 |
US11902253B2 (en) | 2019-04-02 | 2024-02-13 | Bright Data Ltd. | System and method for managing non-direct URL fetching service |
CN110147271B (zh) * | 2019-05-15 | 2020-04-28 | 重庆八戒传媒有限公司 | 提升爬虫代理质量的方法、装置及计算机可读存储介质 |
CN110147271A (zh) * | 2019-05-15 | 2019-08-20 | 重庆八戒传媒有限公司 | 提升爬虫代理质量的方法、装置及计算机可读存储介质 |
CN110149419A (zh) * | 2019-05-23 | 2019-08-20 | 上海睿翎法律咨询服务有限公司 | 基于ip的高效爬虫方法 |
CN111277662A (zh) * | 2020-01-22 | 2020-06-12 | 咪咕文化科技有限公司 | 代理服务器的处理方法、电子设备及存储介质 |
CN111488507A (zh) * | 2020-04-09 | 2020-08-04 | 西安影视数据评估中心有限公司 | 一种网络代理的优选方法 |
CN111488507B (zh) * | 2020-04-09 | 2023-05-23 | 西安影视数据评估中心有限公司 | 一种网络代理的优选方法 |
CN111756850A (zh) * | 2020-06-29 | 2020-10-09 | 金电联行(北京)信息技术有限公司 | 一种服务于互联网数据采集的代理ip请求频率自动调整方法 |
CN111756850B (zh) * | 2020-06-29 | 2022-01-18 | 金电联行(北京)信息技术有限公司 | 一种服务于互联网数据采集的代理ip请求频率自动调整方法及系统 |
US12003562B2 (en) | 2023-01-22 | 2024-06-04 | Bright Data Ltd. | System and method for streaming content from multiple servers |
US12003566B2 (en) | 2023-02-22 | 2024-06-04 | Bright Data Ltd. | System providing faster and more efficient data communication |
US12003567B2 (en) | 2023-02-22 | 2024-06-04 | Bright Data Ltd. | System providing faster and more efficient data communication |
US12003605B2 (en) | 2023-03-11 | 2024-06-04 | Bright Data Ltd. | System and method for improving internet communication by using intermediate nodes |
US12003569B2 (en) | 2023-04-23 | 2024-06-04 | Bright Data Ltd. | System providing faster and more efficient data communication |
US12003568B2 (en) | 2023-04-23 | 2024-06-04 | Bright Data Ltd. | System providing faster and more efficient data communication |
Also Published As
Publication number | Publication date |
---|---|
CN107832355B (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832355A (zh) | 一种爬虫程序的代理获取的方法及装置 | |
CN110062025A (zh) | 数据采集的方法、装置、服务器及存储介质 | |
JP5978401B2 (ja) | 分散システムにおいてユーザリクエストの実行を監視するための方法及びシステム | |
CN102946319B (zh) | 网络用户行为信息分析系统及其分析方法 | |
CN107832210A (zh) | 日志埋点接入测试方法、装置及服务器 | |
US20040167793A1 (en) | Network monitoring method for information system, operational risk evaluation method, service business performing method, and insurance business managing method | |
CN103888304B (zh) | 一种多节点应用的异常检测方法及相关装置 | |
CN103544095B (zh) | 服务器程序的监控方法及其系统 | |
CN107133118A (zh) | 一种故障诊断模型训练方法、故障诊断方法及相关装置 | |
CN105590063B (zh) | 一种挖掘漏洞的方法、装置及电子设备 | |
EP2713270A1 (en) | Resource scheduling method and device | |
CN107544849A (zh) | 一种web服务器并发管理方法及系统 | |
CN107102928A (zh) | 一种应用程序崩溃信息上报方法和装置 | |
CN107547273A (zh) | 一种电力系统虚拟实例高可用的保障方法及系统 | |
KR100939020B1 (ko) | 웹 소스 분석 시스템 및 방법 | |
CN109446493A (zh) | 数据处理方法、装置、存储介质和电子装置 | |
CN111523074A (zh) | 一种前端渲染网站的动态页面敏感数据的采集系统 | |
CN107330326A (zh) | 一种恶意木马检测处理方法及装置 | |
CN108595543A (zh) | 数据抓取方法、装置及网络爬虫系统 | |
CN103809955B (zh) | 结束进程的方法和装置 | |
CN105740384A (zh) | 一种爬虫代理自动切换方法及装置 | |
CN106055271A (zh) | 一种基于云计算的重复数据去重选择方法及装置 | |
CN106899436A (zh) | 一种云平台故障预测诊断系统 | |
CN108763517A (zh) | 一种删除元数据的方法以及相关设备 | |
CN106789392A (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 |