Dotcpp  >  编程教程  >  Python爬虫  >  Python爬虫协议

Python爬虫协议

点击打开在线编译器,边学边练

        当我们真正接触了爬虫之后会发现爬虫的功能十分强大,但是我们并不能为所欲为的使用爬虫,爬虫需要遵循robots协议,该协议是国际互联网界通行的道德规范,每一个爬虫都应该遵守,本节我们就来介绍一下爬虫协议

1. 违规案例(1)——BE违规抓取eBay

        十二年前,BE公司利用爬虫抓取了eBay等多个大型拍卖网站的商业信息,并把这些信息放置在自己的网站上供用户浏览,获得了客观的网站流量,对于eBay来说,BE的爬虫每天超过十万次的访问自家的服务器,造成了很大的压力,因此向BE提出禁止抓取,但是BE因为利益的原因而无视这个要求,之后eBay便把BE告上法庭,经过联邦法官的取证后,认定BE侵权,禁止了BE的行为。

2. 违规案例(2)——360搜索无视robots协议

        2012年8月29日,上线十日便轻松登顶国内第二大搜索引擎的奇虎360搜索遭到百度的起诉,百度认为360公司违反Robots协议抓取百度知道、百度百科等数据,而法庭也尊重Robots协议,因此360赔偿百度70万元, 由此可见,Robots协议在互联网业界和司法界都是得到认可的,我们在使用的时候也要严格遵循此协议。

3. 爬虫协议

        Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,该协议属于一个规范,并不能保证网站的隐私。

Robots协议是国际互联网界通行的道德规范,基于以下原则:
        1.  搜索技术应服务于人类,同时尊重信息提供者的意愿,并维护其隐私权。

        2.  网站有义务保证其使用者的个人信息和隐私不被侵犯。

        在使用爬虫的时候我们应当注意一下几点:

        1. 拒绝访问和抓取有关不良信息的网站。

        2. 注意版权意识,对于原创内容,未经允许不要将信息用于其他用途,特别是商业方面。

        3. 严格遵循robots.txt协议。

        4. 爬虫协议查看方式

        大部分网站都会提供自己的robots.txt文件,这个文件会告诉我们该网站的爬取准则,查看方式是在域名加"/robots.txt"并回车。

        我们来看一下百度的爬虫协议:

python爬虫2

                          python爬虫3                     python爬虫4

        在上面我们可以看到,百度的爬虫协议中对不同的访问者有着不同的要求。

        User-agent为访问用户,出现多个User-agent表示该网站对不同的用户提供不同的准则。例如该网站对于普通使用者为:

 python爬虫5

        表示禁止所有搜索引擎访问网站的任何部分,而对于这种的:

 python爬虫6

        表示只禁止该搜索引擎访问部分根目录下的文件。

        常使用的规范如下:

        User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符。

        Disallow: /baidu/ 这里定义是禁止爬寻baidu目录下面的目录。

        Disallow: /dotcpp/*.htm 禁止访问/dotcpp/目录下的所有以".htm"为后缀的URL(包含子目录)。

        Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址。

        Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片。

        Disallow:/dotcpp/dotcpp.html 禁止爬取dotcpp文件夹下面的dotcpp.html文件。

        Allow: /dotcpp/ 这里定义是允许爬寻dotcpp目录下面的目录。

        Allow: /dotcpp 这里定义是允许爬寻tmp的整个目录。

        Allow: .htm$ 仅允许访问以".htm"为后缀的URL。

        Allow: .gif$ 允许抓取网页和gif格式图片。

        Sitemap: 网站地图,告诉爬虫这个页面是网站地图。

5. 总结

        在使用爬虫之前,如果是使用公司引擎或者大型的爬虫引擎,那么一定要查看一下该网站的相关robots.txt信息,合理的使用网络爬虫,避免给网站拥有者以及个人造成不必要的麻烦,下一节我们正式踏入爬虫的学习。



本文固定URL:https://www.dotcpp.com/course/317

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Python教程
第一章 Python入门
第二章 Python基础语法
第三章 Python入门语法
第四章 Python核心语法
第五章 Python函数
第六章 Python面向对象编程
第七章 Python模块
第八章 Python异常处理和程序调试
第九章 Python文件及目录操作
第十章 PythonGUI编程
第十一章 Python进程和线程
第十二章 Python数据库管理
第十三章 Python算法
第十四章 Python爬虫
第十五章 Python实战项目
第十六章 后记
Dotcpp在线编译      (登录可减少运行等待时间)