小服务器和虚拟空间肯定是承受不了这大量的蜘蛛抓取,分分钟把你的网站干趴
如果你的网站不需要神马的流量或者手机端的流量,可以屏蔽,元素模板为您解答如何屏蔽
YisouSpider 如何屏蔽?
限定Yisouspider访问权限的robots协议写法(已经尝试,无用)
robots.txt 必须放在网站根目录下,且文件名要小写。
具体写法:
1) 完全禁止 yisouspider 抓取:
User-agent: yisouspiderDisallow: /
2) 禁止 yisouspider 抓取指定目录
User-agent: yisouspiderDisallow: /updateDisallow: /history
禁止抓取 update、history 目录下网页
Nginx屏蔽爬虫yisouspider访问站点方法(没有尝试过,我是apache的)
进入到 nginx 安装目录下的 conf 目录,将如下代码保存为 agent_deny.conf
#禁止 Scrapy 等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403;} #禁止指定 UA 及 UA 为空的访问 if ($http_user_agent ~ "yisouspider|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;}
然后,在网站相关配置中的
location / {try_files $uri $uri/ /index.php?$args;
下方插入如下代码:
include agent_deny.conf;
保存后,执行如下命令,平滑重启 nginx 即可:
/usr/local/nginx/sbin/nginx -s reload
Apache屏蔽爬虫yisouspider访问站点方法(网上的方法,试用过,会造成访问不正常,可能是我使用方法不对)
1、通过修改 .htaccess 文件
修改网站目录下的.htaccess,添加如下代码即可(2 种代码任选):
可用代码 (1):
RewriteEngine OnRewriteCond %{HTTP_USER_AGENT} (^$|yisouspider|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) [NC]RewriteRule ^(.*)$ - [F]
可用代码 (2):
SetEnvIfNoCase ^User-Agent$ .*(yisouspider|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) BADBOTOrder Allow,DenyAllow from allDeny from env=BADBOT
2、通过修改 httpd.conf 配置文件
找到如下类似位置,根据以下代码 新增 / 修改,然后重启 Apache 即可:
DocumentRoot /home/wwwroot/xxx<Directory "/home/wwwroot/xxx">SetEnvIfNoCase User-Agent ".*(yisouspider|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)" BADBOTOrder allow,denyAllow from alldeny from env=BADBOT</Directory>
直接屏蔽封锁yisouspider的IP吧,但是它的IP有点多哦!!
Apache屏蔽蜘蛛IP的方法(nginx我不知道....)
修改htacess文件如下
order allow,denyallow from all #需要屏蔽的IP地址 deny from 106.11.152.100 deny from 106.11.152.102