在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
我们都知道网络上的爬虫非常多,有对网站收录有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守robots 规则对服务器造成压力,还不能为网站带来流量的无用爬虫,比如 一、Apache①、通过修改.htaccess 文件修改网站目录下的.htaccess,添加如下代码即可(2 种代码任选): 可用代码(1):RewriteEngine On RewriteCond %{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) [NC] RewriteRule ^(.*)$ - [F]
可用代码(2):SetEnvIfNoCase ^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) BADBOT Order Allow,Deny Allow from all Deny from env=BADBOT
②、通过修改httpd.conf 配置文件找到如下类似位置,根据以下代码新增/ 修改,然后重启Apache 即可:
二、Nginx 代码进入到nginx 安装目录下的conf 目录,将如下代码保存为 agent_deny.conf cd /usr/local/nginx/conf vim agent_deny.conf 然后,在网站相关配置中的 location / { 之后插入如下代码: 保存后,执行如下命令,平滑重启nginx 即可: 三、PHP 代码将如下方法放到贴到网站入口文件index.php 中的第一个<?php 之后即可:
四、测试效果如果是vps,那非常简单,使用curl -A 模拟抓取即可,比如: 模拟宜搜蜘蛛抓取: 模拟百度蜘蛛的抓取: 三次抓取结果截图如下: 可以看出,宜搜蜘蛛和UA 为空的返回是403 禁止访问标识,而百度蜘蛛则成功返回200,说明生效! 补充:第二天,查看nginx 日志的效果截图:①、UA 信息为空的垃圾采集被拦截:
②、被禁止的UA 被拦截: 因此,对于垃圾蜘蛛的收集,我们可以通过分析网站的访问日志,找出一些没见过的的蜘蛛(spider)名称,经过查询无误之后,可以将其加入到前文代码的禁止列表当中,起到禁止抓取的作用。 五、附录:UA 收集下面是网络上常见的垃圾UA 列表,仅供参考,同时也欢迎你来补充。 |
2022-11-06
2022-08-17
2022-08-15
2022-08-17
2022-07-18
请发表评论