nginx屏蔽垃圾无效蜘蛛

  • A+
所属分类:Linux

屏蔽蜘蛛的爬取有两种方法

一:Robots协议

Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

Robots不是蜘蛛严格遵守,所以针对流氓蜘蛛需要使用第二种方法。

二:UA禁封

服务器环境为Cenots+nginx,以此为例说明:

在nginx的独立域名配置文件如下:


#禁止Scrapy等工具的抓取
agent_deny.conf的具体内容如下:


include  agent_deny.conf;
需要注意的是agent_deny.conf需要放在conf目录下,而不能在下一级vhost目录里面,因此在location / {} 内部引用的时候注意路径:


______________________________________ UPDATE 2016.6.3_____________________________________
如果agent_deny.conf放在vhost下面,并且相应的更改路径,nginx的配置检测依然会报错。

加载了agent_deny.conf,并使用curl检测可以发现确实屏蔽了需要屏蔽的蜘蛛,但是,在百度站长平台ROBOTS检测那里,会发现无法检测到robots.txt文件

nginx屏蔽垃圾无效蜘蛛

 

其实问题出在最后的


本站目前使用的屏蔽垃圾蜘蛛和UA代码:
取消这段代码即可。

如果有其他想禁封的,只要先从LOG里面查询UA,然后写入配置再生效。

avatar

发表评论

您必须登录才能发表评论!