忘记密码

成功验证手机号即可找回密码

请输入密码
请确认密码
用户登录
请输入密码
忘记密码
注册免费试用
注册后联系客服获取免费资格
请输入密码
《芝麻HTTP用户注册协议》
复制成功
请粘贴在新的浏览器或标签页内打开
确定
账户余额不足10元

为了不影响您的正常使用,请及时充值!

我知道了

恭喜您注册成功!
已成功领取账户余额

25 1
立即领取

手机号绑定成功!
已成功领取账户余额

25 1
立即领取
芝麻HTTP
芝麻HTTP注册协议
本协议是您与芝麻HTTP相关事宜所订立的契约,请您仔细阅读本注册协议,您点击“同意”后,本协议即构成对双方有约束力的法律文件。

第1条 用户注册

1、用户注册是指用户登录芝麻HTTP,按要求填写相关信息并确认同意本服务协议的过程。

2、芝麻HTTP用户必须是具有完全民事行为能力的自然人。

3、本产品一经售出,概不退款。

第2条 用户的帐号,密码和安全性

用户一旦注册成功,成为本站的合法用户。芝麻HTTP将对用户名和密码安全负全部责任,若是因个人行为造成的密码用户安全问题,本公司不负责任。此外,每个用户都要对以其用户名进行的所有活动和事件负全责。用户若发现任何非法使用用户帐号或存在安全漏洞的情况,请立即通告本站或者致电官网电话。
第3条 用户依法言行义务
本协议依据国家相关法律法规规章制定,用户同意严格遵守以下义务:
(1)不得传输或发表:煽动抗拒、破坏宪法和法律、行政法规实施的言论,煽动颠覆国家政权,推翻社会主义制度的言论,煽动分裂国家、破坏国家统一的的言论,煽动民族仇恨、民族歧视、破坏民族团结的言论;
(2)从中国大陆向境外传输资料信息时必须符合中国有关法规;
(3)不得利用本站从事洗钱、窃取商业秘密、窃取个人信息等违法犯罪活动;
(4)不得干扰本站的正常运转,不得侵入本站及国家计算机信息系统;
(5)不得传输或发表任何违法犯罪的、骚扰性的、中伤他人的、辱骂性的、恐吓性的、伤害性的、庸俗的,淫秽的、不文明的等信息资料;
(6)不得传输或发表损害国家社会公共利益和涉及国家安全的信息资料或言论;
(7)不得教唆他人从事本条所禁止的行为;
(8)不得利用在本站注册的账户进行牟利性经营活动;
(9)不得发布任何侵犯他人著作权、商标权等知识产权或合法权利的内容;
用户应不时关注并遵守本站不时公布或修改的各类合法规则规定。
本站保有删除站内各类不符合法律政策或不真实的信息内容而无须通知用户的权利。
若用户未遵守以上规定的,本站有权作出独立判断并采取暂停或关闭用户帐号等措施。用户须对自己在网上的言论和行为承担法律责任。

第4条 协议更新及用户关注义务
根据国家法律法规变化及网站运营需要,芝麻HTTP有权对本协议条款不时地进行修改,修改后的协议一旦被张贴在本站上即生效,并代替原来的协议。用户可随时登录查阅最新协议; 用户有义务不时关注并阅读最新版的协议及网站公告。如用户不同意更新后的协议,可以且应立即停止接受网站依据本协议提供的服务;如用户继续使用本网站提供的服务的,即视为同意更新后的协议。芝麻HTTP建议您在使用本站之前阅读本协议及本站的公告。 如果本协议中任何一条被视为废止、无效或因任何理由不可执行,该条应视为可分的且并不影响任何其余条款的有效性和可执行性。

第5条 法律管辖和适用
本协议的订立、执行和解释及争议的解决均应适用在中华人民共和国大陆地区适用之有效法律(但不包括其冲突法规则)。 如发生本协议与适用之法律相抵触时,则这些条款将完全按法律规定重新解释,而其它有效条款继续有效。 如缔约方就本协议内容或其执行发生任何争议,双方应尽力友好协商解决;协商不成时,任何一方均可向有管辖权的中华人民共和国大陆地区法院提起诉讼。
同意并继续

为IP需求定制
提供专业解决方案

首页> 使用技巧> 企业级分布式爬虫如何使用代理IP

企业级分布式爬虫如何使用代理IP

使用技巧 发布日期 2018-10-24         

大家在使用分布式爬虫,或者叫多进程爬虫的时候,由于目标站的限制,可能会用到代理IP

要使用代理IP,首先要找一个稳定高匿的私密代理IP提供商,爬虫肯定得用私密代理,开放代理是不行的。

如何才能资源利用最优化、最合理的使用代理IP来抓数据,下面的文章可以提供一些思路

一般大家都会有下面几种实现方式:

推荐:【方案一】使用芝麻HTTP,一款拥有企业级稳定高匿、高速代理IP 的千万IP出口池,是爬虫的不二之选。

大概使用逻辑如下:

芝麻HTTP提供安全、稳定、高匿的海量IP,支持一键提取调用,设置白名单使用,同时支持每次请求随机一个IP出口,或者多次请求使用。三大过滤模式,支持三种协议及多种API参数,能够满足更多爬虫需求。

推荐:【方案二】先导入数据库,从数据库里面取IP,大概逻辑如下:

step1:在数据库里面建一个表,写一个导入脚本,每分钟请求60次API,把IP列表导入到数据库里面(接口返回的是实时可用的,芝麻HTTP会实时检测,你的检查肯定没有我们这边实时,如果接口里面没有而数据库里面有,则删除或者标记为不可用,反之则插入或者更新。)。

step2:一定是每分钟请求60次,不要每分钟3次或者每分钟5次。知道为什么吗?比如一个IP的有效期从18:00:01分开始算有效期60秒,你18:00:00来请求的时候是拿不到的,当你18:00:20来拿的时候,它只剩下40秒了,就是有可能少20秒。

step3:在数据库里面记录好 导入时间、IP、Port、过期时间、当前有多少进程在使用这个IP IP可用状态 等字段;

step4:写一个抓取脚本,抓取脚本从数据库里面读取可用IP,每个进程从数据库获取一个IP,获取一个 状态可用,使用的进程少的IP,当然也可以控制每个进程只使用一个IP,如果没有符合条件的IP,则循环Sleep 1秒等待新的IP出现。

step5:执行抓取,对结果进行判断,处理cookie等,只要出现验证码或者失败就放弃这个IP(在数据库里面标记为不可用或者直接删除,另外如果是标记为不可用的话,如果目标站只封1小时,那可以1小时以后如果接口里面又返回这个IP,那可以再标记为可用),重新换一个IP。

 

不推荐但也能跑:【方案三】每个进程从接口API中随机取一个IP来使用,失败则再调用API获取,大概逻辑如下:

step1:每个进程(或线程),从接口随机取回一个IP来,用这个IP去访问资源,

step2:如果访问成功,则继续抓下一条

step3:如果失败了(比如超时、出现验证码等),再从接口随机取一个IP,继续尝试。

方案三是最错误且最低效的办法,原因如下:

我们知道每个IP都是有有效期的,当你取回来一个列表的时候,比如列表里面第一个IP有效期100秒,第二个有效期80秒,第三个110秒,第四个50秒,当你尝试第一个的时候比如一直成功用了50秒,然后被封,要换IP了,继续尝试第二个,这时候第二个有效期已经还剩余30秒了,第四个已经过期了。如果你设置HTTP请求的时候连接时间超时为3秒,读取时间超时为5秒,那你将会有可能浪费3-8秒的时间,说不定这3-8秒已经可以抓取几十次了。所以建议直接使用正规服务商提供的代理IP,可用率和稳定性都比较高。 

极度不推荐:【方案四】每个进程从接口API中随机取一个IP列表来循环使用,失败则再调用API获取,大概逻辑如下:

step1:每个进程(或线程),从接口随机取回一批IP回来,循环尝试IP列表去抓取数据;

step2:如果访问成功,则继续抓下一条

step3:如果失败了(比如超时、出现验证码等),再从接口随机取一个IP,继续尝试。 

方案四弊端:

A、压力和效率:API调取十分频繁,会对芝麻动态VPS的接口造成压力,另外你调用的时候也会耗时比如每次耗时100ms,浪费时间,压力这个目前还好,我们的API直接用Nginx读取Redis,接口性能没有问题。

B、资源竞争:比如你15个进程同时随机去取,例如我们IP池同时有30个可用,因为是随机取一个,所以不能保证两个或多个进程不取到同一个IP,这样频率高了,对方就有可能封这个IP。倒是可以调用接口的去重功能。

C、遇到被封的IP,你也无法告诉API,下次不会给你返回被封IP了。当前API去重只能保证每天不重复。隔天是有可能重复的,因为有些IP当天被封,隔天说不定就可以用了,这些阈值还是使用方自己控制比较好。

所以,尽可能做个策略,尽可能让每个进程(或线程)使用一个IP,不要多个进程使用一个IP。

芝麻HTTP为您提供安全稳定、高效便捷的爬虫代理IP服务,提供高匿代理IP资源的同时,还可以设置不同类型的HTTP代理,以及设置去重等等标准,简单一点说,芝麻HTTP就好像是一个中间桥梁,可以根据用户的需求设置HTTP代理类型,助您不间断获取行业数据,芝麻替您考虑资源质量问题,助您轻松跨入“互联网大数据”时代。官网可免费提取试用,更多问题请点击官网咨询客服。————芝麻HTTP运营管理团队 h.zhimaruanjian.com

芝麻HTTP 高匿代理 爬虫采集
客户经理
1740088888 17696581266
在线咨询

售后客服1

在线售后,实时响应

售后客服2

在线售后,实时响应

渠道/企业/大客户合作

大汉:153-0544-5551
芝麻HTTP公众号 微信客服