目录
有时爬着爬着人家把我们的IP给封了,这个时候我们可以使用代理IP再次进行请求
不用代理的时候就是A直接请求B,B给A响应
使用代理是A去请求C,C携带你的参数请求B。之后B给C响应,然后再由C把B的响应给A
这样A和B就没有直接关系,B禁用A的IP,但没有禁用C的IP。如果C的IP也被禁用了,那就换一个代理D
- 梯子工具使用的就是代理技术
和验证码一样,代理也有第三方的公司做,比如 快代理 快代理 - 企业级HTTP代理IP云服务
- 百度上搜代理就有了
1 不使用代理请求
这里有一个查询ip地址的http协议的网站 显示查询自己的IP地址 直接访问可以获得我们当前的IP
- https协议的代理相对于http协议的代理要难获取一些
我们用代码请求一下
发现可以请求到,并且IP与我们与浏览器访问的IP一致
2 使用代理请求
快代理目前(2024.1.17)每小时会更新几个免费的,有时间限制的代理,我们再学习或购买之前可以用一下试试,我们现在就用这个IP试一下
在requests.get中加入参数proxies
proxies本身是键值对,键是协议名称,值是代理的IP+端口,如果你想再添加一个https的代理,那么可以这样写
page_text = requests.get(url=url,headers=headers,proxies={'http':'36.134.91.82:8888','https':'36.134.91.82:1234'}).text
当你使用http协议请求的时候会自动走http的代理,如果你没添加http的代理就会使用本机IP进行访问
请求后发现我们可以成功使用代理的IP
3 代理IP的匿名度
大致分如下3个等级
- 透明:服务器知道该次请求使用了代理,也知道请求的真实IP。可以讲透明的代理意义不大
- 匿名:服务器知道使用了代理,不知道真实的IP
- 高匿名:服务器不知道使用了代理,也不知道真实的IP