By 一页编程
在实际操作中我们这样的爬虫该如何遵守robots协议呢?
Robots协议的使用
对于任何网络爬虫来讲,它应该能够自动或人工的识别robots.txt文件,根据文件的内容再进行爬取。
即使不写这样的代码,我们也应该可以打开某一个网站,看一下它的robots协议根据它的规则来进行合理的爬取。
然而robots协议是建议但非约束性的,也就是说网络爬虫可以不遵守robots协议,但是要记住,如果不遵守这个协议,可能存在法律风险。
对Robots协议使用的理解
这里边给出我个人理解。
其实对于任何一个网络爬虫来讲,都应该遵守robots协议。比如爬取全网的搜索引擎的爬虫、爬取某些网站进行商品比价数据获取分析的爬虫、我们爬取某些个别网页的爬虫,这些都应该遵守robots建议。
但是有一种情况可以适度考虑。比如我们写一些小程序,每天只访问服务器几次,并对服务器不造成巨大的资源影响,而这种访问跟人类访问的行为非常类似,这种情况下我们可以不参考robots协议。
因为任何网络网站提供资源,它都是方便人类获取相关的信息。如果你的网络爬虫能够和人类获取相关的信息相依相一致,访问的次数很少,每次访问的内容也不大,在这种情况下原则上可以不遵守Robots协议。
总结
1、网络爬虫会引发很多问题,针对这些问题,互联网设计了Robots协议。
2、Robots协议用基本的简单语法,包括User-agent
和Disallow
来约定一个网站的内容,哪些可以被爬取哪些不可以。
3、在我们编写网络爬虫的技术范畴内,所有的网络爬虫中都应该遵循robots协议,无论你是自动识别robots协议还是人工来看robots协议。
4、如果你的网络爬虫小到跟人类访问网站方式相类似,那你也可以不遵守,但是要注意你获取的资源,不能进行商业用途。
让我们一起来遵守互联网的网络,爬取资源的基本规则,让互联网可以健康有序的向前发展。