本篇博客我们实现的案例是 IP 限制反爬,翻译过来就是每个 IP 在规定时间内限制访问次数。
例如,可以限制单 IP 每秒访问 5 次,超过之后就会返回 403 错误。
Flask 实现 IP 限制
使用 Flask 插件
实战中可以使用第三方模块 Flask-Limiter(Flask 限流器) 来实现 IP 限制。在 PyCharm 中直接安装即可。

使用命令行如下所示:
pip install Flask-Limiter
然后就可以在 Flask 应用中使用 Flask-Limiter 插件,提前建立相关视图函数。
视图函数在
app/school/index.py文件中;
前端模板文件复制templates/school/ajax_list.html文件为ajax_list3.html即可。
原接口请求地址是 /ss/api2,现在修改为 /ss/api3,同时在 index.py 中复制原接口函数。

这篇博客介绍了如何使用Flask-Limiter插件和自定义中间件实现IP限制反爬策略。通过Flask-Limiter限制每秒请求次数,并展示如何在有反向代理的情况下获取真实IP。同时,提到了使用redis存储访问记录以及自定义请求钩子进行IP限制的实现方法。
订阅专栏 解锁全文
1040





