设置 Nginx 规则以屏蔽指定 User Agent 的网站Scrapy爬虫

反诈示警:如遇到文章内跳转至别的网站或产生需要交钱,交易等行为,均为诈骗行为,请谨慎对待。对于网上兼职、刷单、刷信誉的就是诈骗,请勿相信!需要提供身份证明、短信验证和短信链接点击都是诈骗, 请不要提供!同时请下载“国家反诈中心”App能自查自检,规避诈骗电话,免遭损失。

连续几天我的好几个 wordpress 网站再一次被可恶的爬虫爬挂了。。。

对方疯狂的爬取网页,且瞬间并发无数个请求,丝毫不考虑我这孱弱的阿里云低配服务器的小身板能否承受住。不出意外,我的服务器挂掉了。。。CPU使用率和负载状态都是100%

没办法,必须得处理一下。看了一下 nginx 日志中这些爬虫的请求记录:

  • 每 10 个请求一换 IP
  • 请求头都为 "Scrapy/1.7.3 (+https://scrapy.org)"

所以通过 IP 规则来屏蔽是不可能了,可以简单地用 User Agent 匹配规则的方式来屏蔽这些爬虫。

Nginx 配置

顺便把 Yisou 和Scrapy的爬虫屏蔽了。

if ($http_user_agent ~* (YisouSpider|Scrapy) ) {
    return 410;
}

测试

包含 Scrapy 请求头的测试。

> curl --user-agent "Scrapy" https://www.yqym.net
<html>
<head><title>410 Gone</title></head>
<body bgcolor="white">
<center><h1>410 Gone</h1></center>
<hr><center>nginx/1.10.3 (Ubuntu)</center>
</body>
</html>
如需 WordPress 优化加速、二次开发、网站维护、企业网站建设托管等服务,点此联系我 | 近期站内热门福利推荐:
文章版权及转载声明

本文地址:https://www.zycang.com/91943.html
文章转载或复制请以超链接形式并注明来源出处。 本文最后更新于:2022-11-14 21:00:02
声明:某些文章或资源具有时效性,若有 错误 或 所需下载资源 已失效,请联系客服QQ:11210980

喜欢就支持一下吧
点赞41赞赏 分享
相关推荐
评论 抢沙发

请登录后发表评论