在爬虫的过程中,我们经常会遇到很多采用反爬虫技术的网站,或者因为收集网站信息的强度和速度太高,给对方服务器带来了太大的压力。以下文章主要介绍python爬虫代理ip正确使用的相关信息,有需要的可以参考。
目录
代理ip原理输入网址后发生了什么?代理ip做了什么?为什么要用代理?在代码中使用代理ip来检查代理ip是否有效。1.请求协议不匹配。2.代理失败摘要。主要内容:代理ip的原理,如何在自己的爬虫中设置代理ip,如何知道代理ip是否有效,如果无效,是什么问题,个人使用的代理ip(付费)。
代理ip原理
输入网址后发生了什么呢?
1.浏览器获取域名。
2.通过DNS协议获取域名对应的服务器的ip地址
3.浏览器和对应的服务器通过三次握手建立TCP连接。
4.浏览器通过HTTP协议向服务器发送数据请求。
5.服务器将查询结果返回给浏览器。
6.挥动四次以释放TCP连接
7.浏览器渲染结果
它包括:
应用层:HTTP和DNS
传输层:TCP UDP
网络层:IP ICMP ARP
代理ip做了什么呢?
简单来说,就是:
您最初的访问
使用代理后,您的访问
为什么要用代理呢?
因为我们在做爬虫的过程中经常会遇到这种情况。一开始爬虫正常运行,正常抓取数据,一切看起来都那么美好。但是,一杯茶可能会出错,比如403禁。此时打开网页,可能会看到类似“您的IP访问频率过高”的提示。造成这种现象的原因是网站采取了一些反爬虫的措施。比如服务器会检测一个IP在单位时间内的请求次数。如果超过这个阈值,就会直接拒绝服务,并返回一些错误信息。这种情况可以称为IP阻断。代理ip避免了这个问题:
爬虫代码中使用代理ip
就像请求时伪装报头一样,伪装ip,注意是{}
代理={
https':'117.29.228.43:64257 ',
http':'117.29.228.43:64257 '
}
requests.get(url,headers=head,proxies=proxies,time out=3)# proxy
检验代理ip是否生效
我们访问的网站会返回我们的ip地址:
print(requests . get(' http://http bin . org/IP ',proxies=proxies,timeout=3)。正文)
让我们来看看。我用了四个不同的代理IP,都生效了。
未生效问题排查
如果您返回本地地址,99%的人会尝试以下两种情况之一:
1.请求协议不匹配
简单来说,如果是请求http,就用http的协议,如果是https,就用https的协议。
如果我的请求是http,但只有https,我将使用本地ip。
2.代理失效
没有便宜的货,好货不便宜。如果真的需要大型爬虫,不如买代理ip。一些网络广告满天飞的代理商,其实性价比很低,常用的不分享,总被当成广告。我推荐一些其他的,比如:
1、IPIDEA
2、风暴代理
3、你的私人代理
4、土工合成材料
当然还有大家熟知的快手代理,Westthorn等等,也有一些自由代理可用。
总结
关于python爬虫代理ip的正确使用的这篇文章到此为止。关于python爬虫的代理ip的更多信息,请搜索我们以前的文章或者继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。