zoukankan      html  css  js  c++  java
  • 使用 urllib 分析 Robots 协议

    (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 [1]: from urllib.robotparser import RobotFileParser
    
    In [2]: robot = RobotFileParser()                                //创建一个解析器,用来存储Robots协议内容
    
    In [3]: robot.set_url("https://www.cnblogs.com/robots.txt")      //set_url()用于设置robots.txt文件的路径
    
    In [4]: robot.read()                                             //read()用于读取并分析robots.txt文件的内容,并把结果存储到解析器中
    
    In [5]: robot.can_fetch("*", "https://www.cnblogs.com/pzk7788")  //can_fetch()用于判断指定的搜索引擎是否能抓取这个URL
    Out[5]: True

        

  • 相关阅读:
    java的应用项目
    项目评审ppt的纲要
    Spark环境搭建
    spark 环境搭建坑
    redis cluster 实现
    hadoop环境搭建编译
    centos 网络配置
    自定义shell开头PS1
    Centos. Mac 通过nfs 搭建共享目录
    mac系统中实现vitualBox中访问内网端口
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10531120.html
Copyright © 2011-2022 走看看