首页 > 问答 > 禁止垃圾蜘蛛爬取网站,百度意外被封?

禁止垃圾蜘蛛爬取网站,百度意外被封?

[导读]:为了封垃圾蜘蛛特意按照网上的教程弄了下下面的东西, 下面代码写入了agent_deny.conf文件 禁止Scrapy等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {    return 403;    ...

为了封垃圾蜘蛛特意按照网上的教程弄了下下面的东西,
下面代码写入了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|EasouSpider|Ezooms|^$" ) {
         return 403;             
      }

禁止非GET|HEAD|POST方式的抓取

if ($request_method !~ ^(GET|HEAD|POST)$) {
           return 403;
      }


然后在nginx的配置文件里面引入了这个conf。
location /{

include  agent_deny.conf;

 }


通过nginx -t 检测语法配置什么的都没问题,然后在百度站长平台检测robots.txt,提示403。不知道是哪里出现了问题。然后又在"抓取诊断"那里检测抓取robots.txt 又是报错“抓取异常信息: DNS无法解析IP ”。然后把上面的conf配置去掉之后,所有的检测抓取又都正常了。
不知道有大神遇到这个问题没有?

if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}
这个不要屏蔽掉,你屏蔽了这个,基本上一些通用的搜索引擎抓取方式都无法使用了。就会返回403了。

本文来自投稿,不代表微盟圈立场,如若转载,请注明出处:https://www.vm7.com/a/ask/41757.html