Nginx服务器屏蔽与禁止屏蔽网络爬虫的方法

本文介绍了如何利用Nginx的User-Agent过滤功能,通过正则表达式来阻止消耗服务器资源的非搜索引擎爬虫。示例展示了如何配置Nginx,特别是针对Python爬虫的拦截规则,以及如何通过curl进行测试验证。
摘要由CSDN通过智能技术生成

每个网站通常都会遇到很多非搜索引擎的爬虫,这些爬虫大部分都是用于内容采集或是初学者所写,它们和搜索引擎的爬虫不一样,没有频率控制,往往会消耗大量服务器资源,导致带宽白白浪费了。

其实Nginx可以非常容易地根据User-Agent过滤请求,我们只需要在需要URL入口位置通过一个简单的正则表达式就可以过滤不符合要求的爬虫请求:

location / {
if ($http_user_agent ~* “python|curl|java|wget|httpclient|okhttp”) {
return 503;
}

其它正常配置


}http://groups.tianya.cn/post-165167-60db9c2c1dcf408c90eed1ad14650067-1.shtml
注意:变量$http_user_agent是一个可以直接在location中引用的Nginx变量。~*表示不区分大小写的正则匹配,通过python就可以过滤掉80%的Python爬虫。

Nginx中禁止屏蔽网络爬虫

server {
listen 80;
server_name www.it.net.cn;
#charset koi8-r;
#access_log logs/host.access.log main;
#location / {
# root html;
# index index.html index.htm;
#}
if ( h t t p u s e r a g e n t   ∗ " q i h o o b o t ∣ B a i d u s p i d e r ∣ G o o g l e b o t ∣ G o o g l e b o t − M o b i l e ∣ G o o g l e b o t − I m a g e ∣ M e d i a p a r t n e r s − G o o g l e ∣ A d s b o t − G o o g l e ∣ F e e d f e t c h e r − G o o g l e ∣ Y a h o o ! S l u r p ∣ Y a h o o ! S l u r p C h i n a ∣ Y o u d a o B o t ∣ S o

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值