大家都知道,爬虫工作与代理ip息息相关,没有代理ip,工作的难度将会大大增加,那么爬虫工作是如何使用代理ip的呢?请看下面分析。
动态IP代理 IP代理 HTTPS代理 代理服务器 长效代理 长效IP
方案一、每个进程从接口API中随机取一个IP列表(比如一次提取100个IP)来循环使用,失败则再调用API获取,大概逻辑如下:
1、每个进程(或线程),从接口随机取回一批IP回来,循环尝试IP列表去抓取数据;
2、如果访问成功,则继续抓取下一条。
动态IP代理 IP代理 HTTPS代理 代理服务器 长效代理 长效IP
3、如果失败了(比如超时、出现验证码等),再从接口取一批IP,继续尝试。
方案缺点:每个IP都是有有效期的,如果提取了100个,当使用了第10个的时候,可能后面的大部分都失效了。如果你设置HTTP请求的时候连接时间超时为3秒,读取时间超时为5秒,那你将会有可能浪费3-8秒的时间,说不定这3-8秒已经可以抓取几十次了。
动态IP代理 IP代理 HTTPS代理 代理服务器 长效代理 长效IP
方案二:先提取大量IP导入本地数据库,从数据库里面取IP,大概逻辑如下:
1、在数据库里面建一个表,写一个导入脚本,每分钟请求多少次API(咨询代理IP服务商建议),把IP列表导入到数据库里面。
2、在数据库里面记录好 导入时间、IP、Port、过期时间、IP可用状态 等字段;
动态IP代理 IP代理 HTTPS代理 代理服务器 长效代理 长效IP
3、写一个抓取脚本,抓取脚本从数据库里面读取可用IP,每个进程从数据库获取一个IP进行使用。
4、执行抓取,对结果进行判断,处理cookie等,只要出现验证码或者失败就放弃这个IP,重新换一个IP。
第二种方案有效的避开了代理服务器资源的消耗,有效的分配代理IP的使用,更加的高效和稳定,保障了爬虫工作的持久性和稳定性。除此之外,选择一款高效稳定的代理IP软件也是非常重要的,对于爬虫工作是非常便捷的。
动态IP代理 IP代理 HTTPS代理 代理服务器 长效代理 长效IP
更多资讯,点击携趣www.xiequ.cn或添加客服咨询。

