| |
|
开发:
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的自动获取 |
前言: ? 目录 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???????????????????????????????????????????????????????正文一.代理IP1.为什么要使用代理:1.让网站服务器认为不是同一个客户端在请求 2.防止我们的真实地址被泄露,防止被服务器认出同一个的用户身份,导致被反爬的几率大大提高 2.请求过程:无代理数据(请求响应) 由用户发起请求,直接到达服务器 服务器也是直接将响应返回到用户 ? 有代理用户发起请求??代理服务器(转发)??网站服务器 网站服务器??代理服务器??(转发) ??用户 使用代理之后,请求或响应可能发生变化 当代对于请求的改变,情况不多 3.代理分类:3.1透明代理:透明代理虽然可以直接“隐藏”你的IP地址,但是还是可以查到你是谁 3.2匿名代理:使用匿名代理,别人只能知道你使用了代理,无法知道你是谁 3.3高匿代理:高匿代理让别人根本无法发现你是在使用代理,所以是最好的选择 平台上获取的代理IP一般都有有效期,短则几分钟,长则几个月甚至一年,爬虫会经常性的修改代理IP,所以一般选择几分钟的代理IP即可。 4.IP的使用方法4.1 IP的语法?
如果url的协议头是http,那么proxies字典中的键就要写为http。 但是不管是http键还是https键,值必须都为http 完整使用
4.2 IP的获取我们可以在一些网站上找到代理IP,但是那些免费的可靠性很低,100个中都不一定能有一个是有效的。 所以还是推荐在一些收费网站上找代理IP,天启, API获取-芝麻HTTP代理 (zmhttp.com) 都是可以的。而且收费也不高。我使用的是芝麻IP用来举例。 在注册账号之后获取IP链接? 打开链接后就可以得到IP? 使用此代码运行后便可以成功获取到该页面的文本内容。
4.3 其他情况的出现在获取到链接之后直接转到该链接,可能会出现以下情况 4.3.1 ? 需要复制IP然后在获取IP的网站个人中心??白名单??添加,将复制的IP添加到白名单,再次转到生成的链接便可以获取到完整的代理IP了 各个网站的操作都是大同小异 ? 4.3.2 代理不可用 如果出现错误提示: ? 这个就代表着是IP地址不可用,在我们复制的链接页面进行刷新,IP地址也会刷新,然后在进行尝试。 5.超时参数? 6.通过代码实现IP的自动获取有一个新的问题,那就是一直请求,一直换新的IP地址就很烦。我们学计算机可不是做无味的重复动作的,是用来偷懒的 下面用代码来一步一步实现简化IP代理的替换:
此例中正则的实现: {"code":1010,"msg":"当前IP(175.9.141.204)不在白名单内,请先设置IP白名单或联系客户经理"} 先将{}与()取消转义,在其前面添加\ 然后再将175.9.141.204改为(.*?) 有人可能有疑问,为什么我们获取到的IP就是纯数字呀,为什么还需要使用正则呢? 注意!!当出现白名单提示时,无论循环多少次都只会是无效IP,需要使用正则先将我们需要的IP给提取出来。 那我们为什么又要使用strip方法呢? 我们可以直接打印代理IP的字节码print(response.content)? 我们就会发现后面还有\r\n。注意!!那些空格,回车我们都是用肉眼看不到的,这些空格也会被代码直接认为是IP。所以导致IP不可用。 如果感觉太麻烦也可以使用笨方法来一个一个手动添加
二.SSL报错这是在浏览某些网站时会出现的情况 ? 原因:ssl的证书不安全导致 代码报错: ? ?解决方法: response=requests.get(url.verify=False) verify的默认值为True 出现SSLError时:首先检查url到底是否正确,如果是标准模式的话,那么就添加verify参数来忽略掉证书的验证 |
|
网络协议 最新文章 |
使用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/25 20:44:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |