
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地址继续进行访问。所以,这个时候你就可以设置... [阅读全文]
最新标签
推荐阅读
10
2019-04
出色的爬虫就不需要代理IP了吗?
出色的爬虫就不需要代理IP了吗?网络上承载着海量的网站的信息,爬虫的也要耗费巨大的工作量,因此爬虫程序的性能是十分关键的。不同的应用对应的爬虫也不一样,相对的战略都不一样,
14
2018-11
无法获取动态IP,怎么解决上不了网问题
虽然网络无处不在,但许多人都不知道上不了网怎么处理,比如怎么设置网络连接,获取不到IP怎么办,怎么更改IP地址等等。这些问题可能和线路连接、IP冲突、服务商绑定以及WAN口适配性...
18
2019-04
动态ip是如何解决异地计算机之间的通信
有些企业或个人用户由于种种需要,想让多台处于不同地点的计算机之间互相访问。
05
2019-03
爬虫抓取数据为什么要用代理IP
大家关注黑洞代理,可以知道黑洞代理是一个可以更换IP地址的软件,除此之外,还可以通过API接口提取代理IP的,因此不管是做爬虫抓取数据还是其他一些换IP的项目都是适用的。为什么怎么说
热门文章