一站式百度SEO排名优化!-找老刘博客 低投入,高转化,精益求精、一丝不苟:旨在提供更好的SEO服务!

首页>>前端开发

在宝塔面板通过伪静态屏蔽垃圾蜘蛛的方法

首页 2022-11-01 前端开发 1666 ℃Tags: 蜘蛛 宝塔 屏蔽蜘蛛


相信每位站长都很烦那些垃圾蜘蛛和垃圾ip,总是使劲的爬自己的网站,以SemrushBot、SM-G900P等垃圾蜘蛛UA和某个特别熟悉的安卓UA(SM-G900P)为例,它们一天天爬个不停,把服务器cpu爬得通红都不放过。

下面以宝塔为例,教大家怎么简单的快速屏蔽垃圾的蜘蛛和垃圾ip。

屏蔽国外蜘蛛我们只需要分三步:

1、打开宝塔的网站管理-点击你要屏蔽的网站的设置;

2、弹窗出来后点击伪静态;

3、复制下方的代码到里面第一行;

if ($http_user_agent ~* (SemrushBot|DotBot|HttpClient|MJ12bot|SemrushBot|Barkrowler|AhrefsBot|PetalBot|BLEXBot|SM-G900P)) {return 403;}

     操作成功的图片如下:

image.png

在宝塔面板通过伪静态屏蔽垃圾蜘蛛的方法

通过上面的一番操作对垃圾蜘蛛返回403错误提示,即可有效的屏蔽掉这些垃圾爬虫了。


查看服务器日志发现,有很多国外的蜘蛛不停的抓取一些其他页面,比如tag,许多ip段批量的不间断的抓取,这导致小带宽服务器压力太大,访问缓慢,百度蜘蛛就不再继续抓取效验直接告知错误,查询后发现这些蜘蛛全是国外的各类型蜘蛛对于我们来说一点作用都没有,简直就是浪费带宽,没用就禁了它。下面说说方法,我也是网上查询到的,看来是比较管用的

宝塔面板下使用方法如下

1、找到文件目录/www/server/nginx/conf文件夹下面,新建一个文件命名:agent_deny.conf 你也可以随意起名,创建完文件后,点击编辑这个文件,把下面的代码放进去保存。

#禁止Scrapy等工具的抓取

if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
     return 403;
}
#禁止指定UA及UA为空的访问
if ($http_user_agent ~* "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot|^$" ) {
     return 403;
}
#禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
    return 403;
}

如图:

image.png

2、找到网站设置里面的第7行左右 写入代码:

include agent_deny.conf;

添加完毕后保存,重启nginx

image.png

如果你网站使用火车头采集发布,使用以上代码会返回403错误,发布不了的。如果想使用火车头采集发布,请使用下面的代码

#禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
     return 403;
}
#禁止指定UA访问。UA为空的可以访问,比如火车头可以正常发布。
if  ($http_user_agent ~ "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|YandexBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot" ) {
    return 403;
}
#禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
    return 403;
}


搜索
分类
热门标签
  • 首页
  • 电话
  • QQ
  • 联系老刘手机
    1043025812
    联系老刘微信
    扫描微信二维码