引言:网站资源(CPU,内存等)使用率在某个时段很高,甚至出现502状态,查日志(看请求头user-agent)发现爬虫在某个时段大量爬取,超出网站正常的负荷,如何在不影响搜索排名情况下合理降低搜索爬虫对网站的影响呢?

方法1:在服务端限制

适用:对不知道,或恶意爬虫限流

在nginx或防火墙上针对爬虫和IP进行限流

 https://cdn.modb.pro/db/327255

 

方法2:通过robots.txt规格限制

适用:对正规的爬虫限流

正规的爬虫会遵循robots.txt规范  ,通过把规则写到根目录的robots.txt文件正确引导爬虫

想更多了解robots请看wiki https://zh.m.wikipedia.org/zh-hans/Robots.txt

这里讲一下使用 Crawl-delay指令 来控制爬虫的爬取频率

User-agent: *
Crawl-delay: 1

每个搜索引擎对Crawl-delay: 1 的执行有差异,有些爬虫是爬取一个页面后暂停1秒再爬第二个页面,有些爬虫是每一秒发起一个爬取的请求。

#1

0         1         2         3         4         5  seconds
|*page1**          
|         |        **page2********
|         |         |         |         |   **page3*

#2

0         1         2         3  seconds
|*page1**          
|         |*page2*********
|         |         |*page3*

不管是哪种都实际上能起到降低爬取频率的作用(google 爬虫不遵循这个限制,需要导google search console 配置),如果了解某个爬虫具体影响设置,可以找一下对应爬虫的规则

bing:  https://blogs.bing.com/webmaster/2009/08/10/crawl-delay-and-the-bing-crawler-msnbot

google : https://support.google.com/webmasters/answer/48620?hl=en

yandex : https://yandex.com/support/webmaster/robot-workings/crawl-delay.html

pinterest:https://help.pinterest.com/zh-hans/business/article/pinterest-crawler

其他爬虫可以在 google上搜索 :名称+Crawl-delay ,如 yahoo 搜索关键词  crawl-delay yahoo

提醒:在网站允许情况下这个值要尽可能设小一点,这样能加快你的网站在搜索引擎的收录和更新

 

 

 

 

 

原文地址:http://www.cnblogs.com/jinshao/p/16784056.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性