(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. charles系列破解激活办法(最高charles4.2.5都可以激活,亲测可用)

    Registered Name: https://zhile.io License Key: 48891cf209c6d32bf4 抓包工具Charles的使用心得 https://www.jians ...

  2. Qt判断操作系统代码

    Qt4的时候是如下宏定义.Qt5,有所不同.   #include <QtGlobal> ... #ifdef Q_OS_MAC // mac #endif #ifdef Q_OS_LIN ...

  3. 模式识别之knn---KNN(k-nearest neighbor algorithm)--从原理到实现

    用官方的话来说,所谓K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居),这K个实例的多数属于某个类,就把该输入实例分类到这个类中 ...

  4. LeetCode224——Basic Calculator

    Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...

  5. WAS6.1连接SQL Server2008数据库连接池配置

    原文链接:http://www.cnblogs.com/lyr2012/archive/2012/06/13/2547804.html 说明:该步骤只适用与websphere 6.1.0.15之前的版 ...

  6. 为什么要用nginx

    1.支持更多的连接数来响应并发请求连接. 2.占用内存小. 3.处理请求的流程和机制决定了他的高并发连接数. 处理并发请求优于apache Web服务器之Nginx详解(理论部分)

  7. Launchpad图标大小怎么调整?

    一.首先运行“终端”程序,执行以下命令: 1.调整每一列显示图标数量,7 表示每一列显示7个 defaults write com.apple.dock springboard-rows -int 7 ...

  8. js pjax 和window.history.pushState,replaceState

    原文:http://blog.linjunhalida.com/blog/pjax/ github:https://github.com/defunkt/jquery-pjax 什么是pjax? 现在 ...

  9. 解决:ADODB.Stream 错误 '800a0bbc' 写入文件失败

    重装更改目录为e盘后,上传文件出现问题.解决方法: 调用adodb.stream的savetofile方法时发生错误, ADODB.Stream 错误 800a0bbc 写入文件失败.(msxml3. ...

  10. C#实现http协议支持上传下载文件的GET、POST请求

    C#实现http协议支持上传下载文件的GET.POST请求using System; using System.Collections.Generic; using System.Text; usin ...