怎样python爬虫更换ip地址爬取网站

前言

在我们平时使用爬虫程序采集数据时,往往会遇到,因采集速度过快导致的自己网络ip被目标网站封禁,这种封禁有时候是封几分钟,有时候是封一天,封的时间不等,但是这样会导致我们局域网内其他人也无法访问目标网站,最大的问题是我们无法进行数据采集。为了保证正常采集数据且本地ip不被封禁,引入代理ip。

代理ip

代理ip有很多种类型,这里我们爬虫程序一般使用的是http或https的代理ip。
爬虫使用的话最好用高匿代理

高匿名代理不改变客户机的请求,这样在服务器看来就像有个真正的客户浏览器在访问它,这时客户的真实IP是隐藏的,服务器端不会认为我们使用了代理。

requests库使用代理ip

# 准备好的代理ip
proxy = "127.0.0.1:8000"    
proxies = {
        "https": "https://{0}".format(proxy),
        "http": "http://{0}".format(proxy),
 }
res = requests.get(url, proxies=proxies)

以上代码片段是最简单的requests库实现代理ip执行get请求

线上爬虫使用代理ip方案

目前爬虫使用代理的方法很多,这里我简单说说我在线上环境使用代理的心得。
首先,我自己维护了一个代理ip池,这个ip池是放在redis中的,也就是说我的所有可使用的代理ip是放在redis中,使用redis的set数据结构,

image.png

 

当然了,这里列出的ip都是可使用的,因为在放入redis

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值