python爬虫之代理ip正确使用方法实例

 更新时间:2022年07月07日 08:54:14   作者:昊昊该干饭了  
在爬虫的过程中,我们经常会遇见很多网站采取了防爬虫技术,或者说因为自己采集网站信息的强度和采集速度太大,给对方服务器带去了太多的压力,下面这篇文章主要给大家介绍了关于python爬虫之代理ip正确使用方法的相关资料,需要的朋友可以参考下

主要内容:代理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 Forbidden,这时候打开网页一看,可能会看到“您的IP访问频率太高”这样的提示。出现这种现象的原因是网站采取了一些反爬虫措施。比如,服务器会检测某个IP在单位时间内的请求次数,如果超过了这个阈值,就会直接拒绝服务,返回一些错误信息,这种情况可以称为封IP。而代理ip就避免了这个问题:

爬虫代码中使用代理ip

就像是请求时伪装头一样,伪装ip,注意是 { }

proxies = {
           'https':'117.29.228.43:64257',
           'http':'117.29.228.43:64257'
       }
 
requests.get(url, headers=head, proxies=proxies, timeout=3) #proxies

检验代理ip是否生效

我们访问一个网站,这个网站会返回我们的ip地址:

print(requests.get('http://httpbin.org/ip', proxies=proxies, timeout=3).text)

我们看一下我使用了四个不同的代理ip,全部生效了,

 未生效问题排查

如果你返回的还是本机地址,99%试一下两种情况之一:

1.请求协议不匹配

简单来说就是,如果你请求的是http,就要用http的协议,如果是https,就要用https的协议。

如果我请求是http ,但只有https,就会使用本机ip。

2.代理失效

便宜没好货,好货不便宜。如果确实大规模爬虫是必须的话,还是买代理ip比较好,网上广告满天飞的某些代理实际性价比有些低了,自己常用的就不分享了,总是被当成广告,推荐一些其他的比如:

1、IPIDEA

2、Stormproxies

3、YourPrivateProxy

4、GeoSurf

当然还有大家熟知的快代理,西刺等等,都有一些免费代理可供使用。

总结

到此这篇关于python爬虫之代理ip正确使用方法的文章就介绍到这了,更多相关python爬虫代理ip内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python机器学习之随机森林(七)

    python机器学习之随机森林(七)

    这篇文章主要为大家详细介绍了python机器学习之随机森林,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python音频处理库pydub的使用教程详解

    Python音频处理库pydub的使用教程详解

    Pydub是Python音频处理库,可以对音频进行切割、合并、转换、调整音量等操作。本文将对pydub各个知识点和案例进行介绍,需要的可以参考一下
    2023-03-03
  • Python中的单继承与多继承实例分析

    Python中的单继承与多继承实例分析

    这篇文章主要介绍了Python中的单继承与多继承,结合实例详细分析了Python面向对象程序设计中单继承与多继承的概念、原理、实现方法及相关操作注意事项,需要的朋友可以参考下
    2018-05-05
  • Python3 chardet模块查看编码格式的例子

    Python3 chardet模块查看编码格式的例子

    今天小编就为大家分享一篇Python3 chardet模块查看编码格式的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python pandas 计算每行的增长率与累计增长率

    Python pandas 计算每行的增长率与累计增长率

    这篇文章主要介绍了Python pandas 计算每行的增长率与累计增长率,文章举例详细说明。需要的小伙伴可以参考一下
    2022-03-03
  • Python 创建或读取 Excel 文件的操作代码

    Python 创建或读取 Excel 文件的操作代码

    Excel是一种常用的电子表格软件,广泛应用于金融、商业和教育等领域,本文介绍Python 创建或读取 Excel 文件的操作代码,感兴趣的朋友一起看看吧
    2023-09-09
  • python 如何用map()函数创建多线程任务

    python 如何用map()函数创建多线程任务

    这篇文章主要介绍了python 使用map()函数创建多线程任务的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Python 命令行参数sys.argv

    Python 命令行参数sys.argv

    命令行参数是通过sys.argv[]来获取的,sys.argv[0]是代码文件本身的路径,因此参数是从1开始的。比如设置参数为: spe
    2008-09-09
  • 浅谈Python数学建模之数据导入

    浅谈Python数学建模之数据导入

    数据导入是所有数模编程的第一步,比你想象的更重要。Python 语言中数据导入的方法很多。对于数学建模问题编程来说,选择什么方法最好呢?答案是:没有最好的,只有最合适的。对于不同的问题,不同的算法,以及所调用工具包的不同实现方法,对于数据就会有不同的要求
    2021-06-06
  • python实现逆滤波与维纳滤波示例

    python实现逆滤波与维纳滤波示例

    今天小编就为大家分享一篇python实现逆滤波与维纳滤波示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论