Python爬虫防封ip的一些技巧

 更新时间:2020年08月06日 10:31:00   作者:小雨  
这篇文章主要介绍了Python爬虫防封ip的一些技巧,对平时学习爬虫有所帮助,感兴趣的朋友可以了解下

在编写爬虫爬取数据的时候,因为很多网站都有反爬虫措施,所以很容易被封IP,就不能继续爬了。在爬取大数据量的数据时更是瑟瑟发抖,时刻担心着下一秒IP可能就被封了。

本文就如何解决这个问题总结出一些应对措施,这些措施可以单独使用,也可以同时使用,效果更好。

伪造User-Agent

在请求头中把User-Agent设置成浏览器中的User-Agent,来伪造浏览器访问。比如:

headers ={'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'} resp = requests.get(url,headers = headers)

还可以先收集多种浏览器的User-Agent,每次发起请求时随机从中选一个使用,可以进一步提高安全性:

把上面随机选择一个User-Agent的代码封装成一个函数:

在每次重复爬取之间设置一个随机时间间隔

比如:

time.sleep(random.randint(0,3)) # 暂停0~3秒的整数秒,时间区间:[0,3]

或:

time.sleep(random.random()) # 暂停0~1秒,时间区间:[0,1)

伪造cookies

若从浏览器中可以正常访问一个页面,则可以将浏览器中的cookies复制过来使用,比如:

注:用浏览器cookies发起请求后,如果请求频率过于频繁仍会被封IP,这时可以在浏览器上进行相应的手工验证(比如点击验证图片等),然后就可以继续正常使用该cookies发起请求。

使用代理

可以换着用多个代理IP来进行访问,防止同一个IP发起过多请求而被封IP,比如:

附:GitHub上的一个"反反爬虫"项目

道高一尺魔高一丈,你有反爬虫措施,那我也有各种"反反爬虫"的措施,GitHub上就有一位大神专门整理了一个这样的项目:Anti-Anti-Spider,链接地址为:github.com/luyishisi/An可以研究一下。

以上就是Python爬虫防封ip的一些技巧的详细内容,更多关于Python爬虫防封ip的资料请关注脚本之家其它相关文章!

相关文章

  • Python不改变Excel单元格样式方式—xls和xlsx两种格式

    Python不改变Excel单元格样式方式—xls和xlsx两种格式

    这篇文章主要介绍了Python不改变Excel单元格样式方式—xls和xlsx两种格式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 20个解决日常编程问题的Python代码分享

    20个解决日常编程问题的Python代码分享

    在这篇文章中,主要和大家分享了20个Python代码片段,以帮助你应对日常编程挑战。文中的示例代码讲解详细,感兴趣的小伙伴可以跟上小编一起了解一下
    2023-01-01
  • 使用Matplotlib制作动态图的示例详解

    使用Matplotlib制作动态图的示例详解

    matplotlib是一个著名的python绘图库,由于其灵活强大的绘图功能使得在python中可视化变得非常容易,本文主要介绍了在matplotlib库中制作动态图的方法,需要的可以参考一下
    2023-06-06
  • Python中Matplotlib的简单使用

    Python中Matplotlib的简单使用

    这篇文章主要介绍了Python中Matplotlib的简单使用,Matplotlib是一个用于绘制数据可视化图形的Python库,支持绘制各种静态,动态,交互式的图表,它是数据科学和机器学习领域最流行的可视化库之一,需要的朋友可以参考下
    2023-07-07
  • PyTorch的SoftMax交叉熵损失和梯度用法

    PyTorch的SoftMax交叉熵损失和梯度用法

    今天小编就为大家分享一篇PyTorch的SoftMax交叉熵损失和梯度用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python 开心网和豆瓣日记爬取的小爬虫

    python 开心网和豆瓣日记爬取的小爬虫

    我本科有个很幽默风趣的量子力学老师,他说了很多批话,跟个公知似的。他的很多文章都放在了开心网(kaixin001.com)上,为了留个纪念,用爬虫保存下来
    2021-05-05
  • pytorch实现特殊的Module--Sqeuential三种写法

    pytorch实现特殊的Module--Sqeuential三种写法

    今天小编就为大家分享一篇pytorch实现特殊的Module--Sqeuential三种写法。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 深入解析Python设计模式编程中建造者模式的使用

    深入解析Python设计模式编程中建造者模式的使用

    这篇文章主要介绍了深入解析Python设计模式编程中建造者模式的使用,建造者模式的程序通常将所有细节都交由子类实现,需要的朋友可以参考下
    2016-03-03
  • 基于python判断目录或者文件代码实例

    基于python判断目录或者文件代码实例

    这篇文章主要介绍了基于python判断目录或者文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • pymysql模块使用简介与示例

    pymysql模块使用简介与示例

    这篇文章主要介绍了pymysql模块使用的相关资料,帮助大家更好的利用python操作MySQL数据库,感兴趣的朋友可以了解下
    2020-11-11

最新评论