当前部分网站面临搜索引擎蜘蛛过度抓取导致的流量占用问题,具体表现为服务器带宽资源被大量消耗。通过网站访问日志可观测到高频爬取记录,其中以百度蜘蛛(BaiDuSpider)尤为突出。值得注意的是,若为正常搜索引擎爬虫行为,直接禁止访问可能引发网站在搜索引擎中的收录量下降及排名丢失,进而导致潜在客户流失。针对此类情况,优先考虑通过升级虚拟主机配置或迁移至云服务器(不限流量)来扩容资源,而非简单拦截爬虫。
搜索引擎普遍遵循robots协议,该协议通过网站根目录下的robots.txt文件实现爬取权限控制。以下为典型配置示例:
- 示例1:禁止所有搜索引擎访问全站
```plaintext
User-agent:
Disallow: /
```
- 示例2:允许所有搜索引擎访问(或创建空文件)
```plaintext
User-agent:
Allow:
```
- 示例3:禁止百度蜘蛛访问
```plaintext
User-agent: Baiduspider
Disallow: /
```
- 示例4:允许百度蜘蛛访问
```plaintext
User-agent: Baiduspider
Allow: /
```
- 示例5:禁止特定目录被爬取
```plaintext
User-agent:
Disallow: /admin/
Disallow: /install/
```
- 示例6:仅允许百度与谷歌蜘蛛访问
```plaintext
User-agent: Baiduspider
Allow: /
User-agent: Googlebot
Allow: /
User-agent:
Disallow: /
```
- 示例7:禁止百度蜘蛛抓取图片资源
```plaintext
User-agent: Baiduspider
Disallow: /.jpg$
Disallow: /.jpeg$
Disallow: /.gif$
Disallow: /.png$
Disallow: /.bmp$
```
结合网站日志分析,若发现百度蜘蛛主要因图片抓取占用流量,且需屏蔽/admin/、/install/目录,可配置如下规则:
```plaintext
User-agent:
Disallow: /admin/
Disallow: /install/
User-agent: Baiduspider
Disallow: /.jpg$
Disallow: /.jpeg$
Disallow: /.gif$
Disallow: /.png$
Disallow: /.bmp$
```
需注意,搜索引擎索引库更新存在延迟,规则设置后蜘蛛爬行行为不会立即终止,需数月时间逐步减少直至完全生效。若需加速屏蔽,可通过搜索引擎反馈中心提交申诉。若部分爬虫不遵守robots协议,可结合伪静态规则进一步拦截(参考:西部数码伪静态拦截方案)。
当百度蜘蛛抓取频次过高引发带宽堵塞时,可通过百度站长工具(http://zhanzhang.baidu.com/)进行干预:
1. 完成网站验证后,进入“网页抓取-抓取频次”页面;
2. 针对无价值链接,更新robots.txt并使用“robots.txt工具”提交生效;
3. 若影响网站正常访问,直接在“抓取频次上限调整”页面降低阈值;
4. 若问题持续,通过反馈中心提交工单。
为深入理解爬虫行为与robots.txt配置,可参考以下标准资料:
- 百度蜘蛛帮助中心:http://www.baidu.com/search/spider.html
- Googlebot帮助中心:http://support.google.com/webmasters/bin/answer.py?hl=zh-Hans&answer=182072
- 搜狗蜘蛛帮助中心:http://www.sogou.com/docs/help/webmasters.htm
- Robots.txt协议详解:http://baike.baidu.com/view/1280732.htm
- 百度官方robots.txt写法指南:http://www.baidu.com/search/robots.html
若遇违规爬虫,可通过百度投诉平台(http://tousu.baidu.com/webmaster/suggest#1)提交处理。
---