网站首页 > 技术教程 正文
概述
每个网站通常都会遇到很多非搜索引擎的爬虫,这些爬虫大部分都是用于内容采集或是初学者所写,它们和搜索引擎的爬虫不一样,没有频率控制,往往会消耗大量服务器资源,导致带宽白白浪费了。下面介绍下怎么通过nginx来屏蔽网络爬虫的方法。
附一张没啥用的图:
思路
Nginx可以根据User-Agent过滤请求,只需要在需要URL入口位置通过一个简单的正则表达式就可以过滤不符合要求的爬虫请求:
location / { if ($http_user_agent ~* "python|curl|java|wget|httpclient|okhttp") { return 503; } # 其它正常配置 ... }
注意:变量$http_user_agent是一个可以直接在location中引用的Nginx变量。~*表示不区分大小写的正则匹配,通过python就可以过滤掉80%的Python爬虫。
Nginx中禁止屏蔽网络爬虫
server { listen 80; server_name _; client_max_body_size 1024m; ssi on; ssi_silent_errors on; if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") { return 403; } location /XXX { ........... }
配置后重启可以用curl 测试一下
curl -I -A "qihoobot" www.gzwise.top
总结
上面主要是介绍通过User-Agent过滤网络爬虫请求的一个方式,大家有空也可以自己测试一下,后面会分享更多关于nginx方面内容,感兴趣的朋友可以关注下!
猜你喜欢
- 2024-10-11 Nginx配置$request_uri与$uri变量的区别
- 2024-10-11 【nginx】十五、nginx高阶之openresty内置变量
- 2024-10-11 每日学点---nginx变量使用方法详解(5)
- 2024-10-11 「系统架构」Nginx调优之变量的使用(3)
- 2024-10-11 「系统架构」Nginx调优之变量的使用(2)
- 2024-10-11 「不要等到用的时候再来找我」总结Nginx中常见变量
- 2024-09-21 Nginx面试中最常见的18道题 抱佛脚必备
- 2024-09-21 Nginx 面试通关秘籍-14.如何在 Nginx 中获取当前时间?
- 2024-09-21 细述:nginx http内核模块提供的变量和解释
- 2024-09-21 Nginx学习笔记(13) nginx变量分类
你 发表评论:
欢迎- 08-06linux 和 windows文件格式互相转换
- 08-06谷歌 ChromeOS 已支持 7z、iso、tar 文件格式
- 08-06Linux下比较文件内容的6种方法
- 08-06文件格式及功能汇总
- 08-0610个Linux文件内容查看命令的实用示例
- 08-06Linux-如何区分不同文件类型
- 08-06Zabbix技术分享——监控windows进程资源使用情况
- 08-06Linux系统卡顿?学会ps命令这三招,轻松定位问题进程
- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)