(1) Robots Exclusion Protocol,网络爬虫排除标准,也称爬虫协议、机器人协议,用来告诉爬虫和搜索引擎哪些页面可以抓取,哪些不可以抓取
(2) Robots 协议以 robots.txt 文件的形式表示,一般放在网站的根目录下,爬虫和搜索引擎要根据文件的内容范围来爬取,如果文件不存在,爬虫便会访问所有可直接访间的页面
(3) 百度的爬虫协议:http://www.baidu.com/robots.txt    博客园的爬虫协议:https://www.cnblogs.com/robots.txt    简书的爬虫协议:https://www.jianshu.com/robots.txt

[root@localhost ~]# cat robots.txt    //如下,表示只允许所有的搜索爬虫爬取public目录,其他目录禁止爬取
User-Agent:* //常见的搜索爬虫有:BaiduSpide 、Googlebot 、360Spider 、YodaoBot 等
Disallow:/
Allow:/public/

urllib 使用 robotparser 模块来解析 robots.txt,它可以根据某网站的 robots.txt 文件来判断是否有权限来爬取这个网页:

In []: from urllib.robotparser import RobotFileParser

In []: robot = RobotFileParser()                                //创建一个解析器,用来存储Robots协议内容

In []: robot.set_url("https://www.cnblogs.com/robots.txt")      //set_url()用于设置robots.txt文件的路径

In []: robot.read()                                             //read()用于读取并分析robots.txt文件的内容,并把结果存储到解析器中

In []: robot.can_fetch("*", "https://www.cnblogs.com/pzk7788")  //can_fetch()用于判断指定的搜索引擎是否能抓取这个URL
Out[]: True

使用 urllib 分析 Robots 协议的更多相关文章

  1. 2.爬虫 urlib库讲解 异常处理、URL解析、分析Robots协议

    1.异常处理 URLError类来自urllib库的error模块,它继承自OSError类,是error异常模块的基类,由request模块产生的异常都可以通过这个类来处理. from urllib ...

  2. 芝麻HTTP:分析Robots协议

    利用urllib的robotparser模块,我们可以实现网站Robots协议的分析.本节中,我们来简单了解一下该模块的用法. 1. Robots协议 Robots协议也称作爬虫协议.机器人协议,它的 ...

  3. urllib库:分析Robots协议

    1from urllib.robotparser import RobotFileParser 2import ssl 3from urllib.request import urlopen 4ssl ...

  4. Robots协议(爬虫协议、机器人协议)

    Robots协议(也称为爬虫协议.机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓 ...

  5. [Python3网络爬虫开发实战] 3.1.4-分析Robots协议

    利用urllib的robotparser模块,我们可以实现网站Robots协议的分析.本节中,我们来简单了解一下该模块的用法. 1. Robots协议 Robots协议也称作爬虫协议.机器人协议,它的 ...

  6. python3 爬虫5--分析Robots协议

    1Robots协议 Robots协议告诉了搜索引擎和爬虫那些页面可以抓取,那些不可以,通常是存放在robots.txt文件里面,位于网站的根目录下 robots.txt中内容的示范: User-age ...

  7. Robots协议(摘)

    robots协议 Robots协议(也称为爬虫协议.机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓 ...

  8. 网络爬虫 robots协议 robots.txt

    网络爬虫 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上 ...

  9. wireshark 抓包分析 TCPIP协议的握手

    wireshark 抓包分析 TCPIP协议的握手 原网址:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html 之前写过一篇 ...

随机推荐

  1. 安卓程序代写 网上程序代写[原]Call requires API level 8 (current min is 1)错误

    导入了一个程序 , 每次运行之后都会出现该错误 . 点击clean 错误就会消失 , 但是执行该错误的时候该错误就会重新出现 . 这个错误需要在AndroidManifest.xml配置文件中修改 u ...

  2. 关于go语言的环境配置 SDK+path+工作目录

    第一步: 安装Golang的SDK http://golang.org,下载最新的安装包,之后双击安装即可. 安装完成之后,打开终端,输入go.或者go version(查看安装版本)出现如下信息即表 ...

  3. 关于Unity中Cg的基本语法和使用

    Cg是类似于C语言的发展起来的图形编程语言,Cgraphics,它的很多表达式if...else...和C语言非常相像,也和C#非常相像. 由于Shader是写给显卡执行的,所以没有输出语句来调试,很 ...

  4. 【Python】Centos + gunicorn+flask 报错ImportError: No module named request

    今天用Python去下载图片,用到了 urllib.request,这个是python3的方法.python2 使用的是urllib2 遇到了这么个问题后台报错,ImportError: No mod ...

  5. 使用Maven清理项目

    在基于Maven的项目中,很多缓存输出在“target”文件夹中.如果想建立项目部署,必须确保清理所有缓存的输出,从面能够随时获得最新的部署. 要清理项目缓存的输出,发出以下命令: mvn clean ...

  6. C# 结构体 struct

    C# 结构体 struct C#中结构类型和类类型在语法上非常相似,他们都是一种数据结构,都可以包括数据成员和方法成员. 结构和类的区别: 1.结构是值类型,它在栈中分配空间:而类是引用类型,它在堆中 ...

  7. ViewBag和ViewDate以及TempDate的区别

    简单的说,就是   ViewBag 和  ViewData 是数据共享的(他们都是共享 ViewData 的数据),ViewBag 实际就是对 ViewData的一个操作的封装.  区别 : View ...

  8. 查看CentOS系统运行了多久使用uptime命令

    对于一些人来说系统运行了多久是无关紧要的,但是对于服务器管理员来说,这是相当重要的信息. 服务器在运行重要应用的时候,必须尽量保证长时间的稳定运行,有时候甚至要求零宕机. 那么我们怎么才能知道服务器运 ...

  9. 无向带权图的最小生成树算法——Prim及Kruskal算法思路

    边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权. 最小生成树(MST):权值最小的生成树. 生成树和最小生成树的应用:要连通n个城市需要n-1条边线路.可以 ...

  10. idea出现插件突然失灵解决方案

    File -> Settings  -> Plgins  把失效的插件重新去掉打钩并重新打钩即可