最近在维护客户网站是发现网站大量流量,看一下网站响应日志,有不明的访问来源,看下记录是compatible; PetalBot;+https://webmaster.petalsearch.com/site/petalbot,翻译了一下,原来是华为的蜘蛛,然后回想起看到有说华为在搞搜索引擎的新闻,那看来这个玩意已经确实存在,不然我小网站也不能来这么多,跟今日头条爬虫一样,现在是它饥饿的时候疯狂爬数据,给服务器带来不小压力,建议必要时可以禁止petalbot访问,可以在网站目录的robots.txt文件,没有的手动新建一个。
通过robots.txt协议禁止
User-agent: PetalBot Disallow: /
Nginx屏蔽爬虫访问站点方法:
#禁止 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; }
在apache禁止蛛蛛访问,在修改网站目录下的.htaccess,添加如下代码即可:
RewriteEngine On RewriteCond %{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]