qq:800819103
在线客服,实时响应qq群
在线客服,实时响应客服电话
13318873961当我们使用Python爬虫对一个网站进行爬取的时候,一般都会频繁的对该网站进行访问。假设一个网站可以检测到在某一个时间段内,某个IP地址的访问次数,如果该IP地址还是在某一个时间段内继续访问没并且访问次数远远超过正常用户的访问次数状况,那么该网站就会禁止该IP地址继续进行访问。所以,这个时候你就可以设置一些代理服务器来帮助你做工作,每次访问时间过长或者事访问频率特别高的时候,你就换一个IP代理,这样就不会出现因为频繁访问而导致禁止访问的现象。
我们在学习Python爬虫的时候,也经常会遇见所要爬取的网站采取了反爬取技术导致爬取失败。高强度、高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,所以下面这篇文章讲述一个爬虫技巧,设置代理IP
这里介绍一款代理IP,犀牛代理,直接提取就可是使用
配置环境
安装requests库
安装bs4库
安装lxml库
具体代码
话不多说直接上代码吧
函数get_ip_list(url, headers)传入url和headers,最后返回一个IP列表,列表的元素类似122.114.31.177:808格式,这个列表包括国内髙匿代理IP网站首页所有IP地址和端口
函数get_random_ip(ip_list)传入第一个函数得到的列表,返回一个随机的proxies,这个proxies可以传入到requests的get方法中,这样就可以做到每次运行都使用不同的IP访问被爬取的网站,有效地避免了真实IP被封的风险
proxies的格式是一个字典: {‘http': ‘http://122.114.31.177:808‘} ,可以将下面的执行也封装为方法
对于抓取IP这个,西刺代理的服务器做了反爬处理,如果你频繁去抓取的话,服务器会主动返回503错误,提示block,所以在请求的时候可以先一次请求完保存一个文件,来读取这个文件,或者爬取一个ip使用几分钟后,再去爬取一次,相当于加一个定时功能
代理IP的使用
运行上面的代码会得到一个随机的proxies,把它直接传入requests的get方法中即可
相关文章内容简介
1 我们为什么要设置代理IP?
我们为什么要设置代理IP 当我们使用Python爬虫对一个网站进行爬取的时候,一般都会频繁的对该网站进行访问。假设一个网站可以检测到在某一个时间段内,某个IP地址的访问次数,如果该IP地址还是在某一个时间段内继续访问没并且访问次数远远超过正常用户的访问次数状况,那么该网站就会禁止该IP地址继续进行访问。所以,这个时候你就可以设置... [阅读全文]
最新标签
推荐阅读
30
2019-04
如何搭建一个简单的代理IP池?
相信很多爬虫爱好者在网上看到了很多关于如何搭建代理IP池的文章,他们说的头头是道,很有道理的样子,等你照着他们说的一顿操作猛如虎,结果一个能用的都没有。
17
2019-04
一步步编写自己的PHP爬取代理IP项目
第一章节主要给大家普及一下爬虫的概念以及相关的知识,让大家对后面的学习打下扎实的基础。如果你是有经验的开发者,完全可以跳过第一章进入第二章的学习了。
15
2019-06
哪个代理IP长期有效?
代理IP的出现给经常使用网络的人带来了很多便利,业务能够得到提升,浏览网页更便捷更迅速。
01
2019-07
爬虫离不开要用到IP池
大数据时代,信息的抓取离不开Python爬虫,但是网站一般会设置反爬虫,比如限制IP,验证码等,所以Python爬虫离不开要用到IP池,用更多的IP来掩盖,那么网络爬虫哪种换IP软件好呢?现在和黑
热门文章