我们常常说 robots.txt 协议防君子不防小人。robots.txt 协议防什么样的君子,又防不了什么样的小人呢?就听我给你一一道来。

### 爬虫常说的君子协议是什么

首先我们需要了解爬虫常说的君子协议是什么,也就是什么是 robots.txt 协议,下面是关于 robots.txt 协议的描述:

> robots.txt 文件规定了搜索引擎抓取工具可以访问您网站上的哪些网址。 此文件主要用于避免您的网站收到过多请求;**它并不是一种阻止 Google 抓取某个网页的机制**。

* **并非所有搜索引擎都支持 robots.txt 指令。**

robots.txt 文件中的命令并不能强制规范抓取工具对网站采取的行为;是否遵循这些命令由抓取工具自行决定。

上面的定义是来自于 Google 搜索中心的[官方文档](https://developers.google.com/search/docs/advanced/robots/intro?hl=zh-cn)。

通过上面的定义可以看出来 robots.txt 只是定义了爬虫可以抓取那些页面,不可以抓取那些页面,这个协议大部分正规的[搜索引擎](https://www.pdflibr.com/crawler/list/search-engine)都会遵守。

例如:在[rogerbot 爬虫介绍](https://www.pdflibr.com/blog/rogerbot-introduction)这篇文章中,有一个 robots.txt 这样写的:

User-agent: rogerbot

Disallow: /

这里是禁止 [rogerbot](https://www.pdflibr.com/crawler/roger-bot) 抓取这个网站的所有页面,但是如果他不遵守,也仍然可以肆无忌惮的抓取你的网站,你也奈何不了 rogerbot 爬虫。

但是大部分爬虫框架都会遵守 robots.txt 协议,有一些开发者为了抓取内容,可能不会检查 robots.txt 文件,无意之中可能没有遵守 robots.txt 协议。

所以 robots.txt 就是一个君子协议:只约束君子不约束小人。

### 总结

通过上面的分析,我们可以回答刚才提出的那个问题了:爬虫常说的君子协议是什么,也就是 robots.txt 协议。

爬虫常说的君子协议是什么相关推荐

  1. 爬虫君子协议-robots.txt协议

    文章目录 一.定义 二.用法 一.定义 robots协议是一种约定俗称的爬虫协议,由网站主人规定了该网站的哪些内容可以爬取,哪些内容不可以爬取,擅自爬取可能承担相关法律责任.之所以称之为君子协议,是因 ...

  2. 蒟蒻的爬虫之旅(Python版)——robots君子协议(转载)

    一.robots内容介绍 robots是一个网站对可被爬取内容的规范,之所以被戏称为君子协议,就是说这些规范不能做到技术限制,存在通过特殊手段爬取网页限制数据的行为,但很大程度上可能会因为爬取这些网站 ...

  3. Python爬虫常见面试题(二)

    前言 之所以在这里写下python爬虫常见面试题及解答 一是用作笔记,方便日后回忆: 二是给自己一个和大家交流的机会,互相学习.进步,希望不正之处大家能给予指正: 三是我也是互联网寒潮下岗的那批人之一 ...

  4. python遵循什么协议_《Python网络爬虫》2.3 Robots协议的遵守方式

    在实际操作中我们这样的爬虫该如何遵守robots协议呢? Robots协议的使用 对于任何网络爬虫来讲,它应该能够自动或人工的识别robots.txt文件,根据文件的内容再进行爬取. 即使不写这样的代 ...

  5. 速看常用工控通讯接口协议大全

    速看常用工控通讯接口协议大全 ///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像黑色字体加我地球呺也能领取哦.最近比较闲,带做 ...

  6. 爬虫(一):爬虫的基础知识 ---通用爬虫和聚焦爬虫,http和https协议,常见的响应状态码

    一.爬虫的定义 网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 二.爬虫可以解决的问题 解决冷启动问题 搜索引擎的根基. -通用爬虫 帮助机器学习建立知识图谱 制作各种比价软件 三 ...

  7. 爬虫入门到精通-HTTP协议的讲解

    HTTP协议的讲解 本文章属于爬虫入门到精通系统教程第三讲 什么是HTTP协议? 引用自维基百科 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互联网 ...

  8. websocket python爬虫_python实现基于websocket协议的网络爬虫

    WebSocket是一种在单个TCP连接上进行全双工通信的协议,简单来说就是建立一个TCP长连接之后,你可以服务器随时可以给客户端发送消息,客户端随时可以给服务器发送消息,而以前只能是客户端给服务器发 ...

  9. 丑憨批的爬虫笔记2(爬虫引发的问题+robots协议)

    去搜 user-agent!!!! referer!!!!! 网页中怎么查看请求头header信息 点一下Name里的东西就会出来 规模大小分类 robots协议 User-agent: * /// ...

  10. 【Java网络编程(一)】IP地址、端口、URL、网络爬虫原理、TCP UDP协议

    IP地址与域名的获取 package cn.hanquan.test;import java.net.InetAddress; import java.net.UnknownHostException ...

最新文章

  1. 微信小程序自定义轮播图滚动样式 自定义组件轮播图的实现
  2. 当析构函数遇到多线程──C++ 中线程安全的对象回调
  3. abp的权限与导航菜单的关系
  4. wps单机无网络版_单平台销量破百万,这个国产单机系列要出网游,还要上主机...
  5. python ide: pycharm
  6. mysql pdo 读取字段名_PDO如何处理SQL语句中对字段名以及表名的转义
  7. STM32F407 独立看门狗 个人笔记
  8. java 组合 遍历 算法_java编程n个集合每次从每个集合里面取出一个元素组成一个字符串列出所有组合算法...
  9. Web Service视频分享
  10. MyBatis多参数传递之默认命名方式示例——MyBatis学习笔记之十二
  11. 声卡调试精调效果都用那些宿主(DAW)机架和效果器插件
  12. ansys18安装教程_ANSYS|ansys18.0完整安装过程及常见问题解决方案「图文」
  13. Model/ModelAndView
  14. 从10万到百亿营收的背后 | 同程旅游CTO V课堂实录
  15. 电力英语计算机C级多少分,中级工程师英语加权分多少
  16. 南京大学计算机学类,南京大学计算机专业厉害吗?
  17. 2018 Multi-University Training Contest 3 hdu多校第三场 Problem A:Ascending Rating(单调队列)
  18. 应届生计算机工程师岗位初试
  19. Flutter 凉了吗?
  20. 移动端开发之Web App开发

热门文章

  1. 第二十章 Concurrent Executors
  2. 2017年中国欧洲出境游大数据 法意英最热门
  3. 关于java中对象引用导致更改原值问题
  4. D-景区路线规划 概率dp+dfs
  5. 保障原创权!百家号文章重复检测上线
  6. 在AXD下用MULTI-ICE调试,出现cause:Undefined instruction
  7. Java跨平台优势不再,还有哪些优势?
  8. 电影格式怎么转换mp4?电影格式转换教程
  9. Macheine Learning Yearning学习笔记(四)
  10. 打造大数据平台底层计算存储引擎 | Apache孵化器迎来Linkis!