| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 分布式爬虫怎样获取代理ip -> 正文阅读 |
|
[网络协议]分布式爬虫怎样获取代理ip |
分布式爬虫如何获取代理ip软件?分布式爬虫提取代理的方式有很多,有的使用白名单授权绑定api链接提取,有的使用账号+密码授权,根据个人的习惯和需求,编写程序代码领用提取方式自动提取代理ip软件使用,提取的方式有很多种,如何根据自己的需求有效最大化的使用代理ip软件。 一:每个线程单次获取一个ip;每个进程从接口使用API链接中随机提取一个IP出来使用,如访问失败,无效则再调用API链接提取一个IP。每个线程,从接口通过api链接随机提取回一个IP出来,使用获取到的代理ip软件去访问资源,如果访问成功,则继续抓下一条。如果失败了(比如超时、出现验证码等),再从接口随机取一个IP,继续尝试。这种情况使用api链接频繁的调用API获取IP,会对代理服务器造成非常大的压力,影响API链接的稳定性,也有可能因频繁调用会被误以为遭受到攻击,api链接会被限制获取。所以这种方式不建议大家使用。 二:每个线程单次获取一个ip列表;每个进程从接口使用API链接中随机取一个IP列表,如单次通过api链接获取100ip使用,访问失败或者失效则再调用API获取。每次每个线程,通过api链接随机提取回一批IP回来,循环使用IP列表去爬取采集数据;如果访问成功,则继续抓取下一条。代理ip软件如果失败了(比如超时、出现验证码等),再从接口取一批IP,继续尝试。这种方式获取到的ip没有在最佳的时间里使用,因为每个ip有效存活期限的,如果单次获取100个ip,当您用到前50个ip时候,可能后面的全部失效的,当从获取到的ip就开始计时有效存活时间,ip在等待使用时已经开始慢慢再在失效了。造成了ip很大的浪费,没有在提取第一时间使用。 三:获取到的ip导入本地数据库;首先通过api链接提取出大量IP导入本地数据库,再从数据库里面提取ip,在数据库里面建一个表,写一个导入脚本,调用api链接间隔时间是多少,这个间隔时间可在购买代理ip的服务平台注明或者客服告知,然后将提取到的IP列表导入到数据库里面。代理ip软件在数据库里面记录好导入时间、IP、Port、过期时间、IP可用状态等字段;写一个抓取脚本,抓取脚本从数据库里面读取可用IP每个进程从数据库获取一个IP进行使用。执行抓取,对结果进行判断,处理cookie等,只要出现验证码或者失败就放弃这个IP,重新换一个IP。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 8:28:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |