当前位置: 首页 > news >正文

爬虫学习笔记之Robots协议相关整理

定义

Robots协议也称作爬虫协议、机器人协议,全名为网络爬虫排除标准,用来告诉爬虫和搜索引擎哪些页面可以爬取、哪些不可以。它通常是一个叫做robots.txt的文本文件,一般放在网站的根目录下。

robots.txt文件的样例

  • 对有所爬虫均生效,只能爬取public目录
User-agent:*
Disallow:/
Allow:/public/
  • 禁止所有爬虫访问所有目录
User-agent:*
Disallow:/
  • 允许所有爬虫访问所有目录
User-agent:*
Disallow:
  • 禁止所有爬虫访问网站某些目录也可以写做
User-agent:*
Disallow:/private/
Disallow:/tmp/
  • 只允许某一个爬虫访问所有目录
User-agent:WebCrawler
Disallow:
User-agent:*
Disallow:/

一些常见的爬虫名称

在这里插入图片描述

robotparser使用

该模块提供了一个类:RobotFileParser,它可以根据某网站的robots.txt文件判断一个爬虫是否有权限爬取这个网页。

RobotFileParser类的常用方法

  • set_url:用来设置robots.txt文件的链接。
  • read:读取robots.txt文件进行分析。
  • parse:用来解析robots.txt文件
  • can_fetch:该方法有两个参数,第一个是User-Agent,第二个是要抓取的URL。返回结果是True或者False,表示User-Agent指示的搜索引擎是否可以抓取这个URL。
  • mtime:返回上次抓取和分析robots.txt文件的时间。
  • modified:它对长时间分析和抓取的搜索爬虫很有帮助,可以将当前时间设置为上次抓取和分析robots.txt文件的时间

代码示例

from urllib.robotparser import RobotFileParserrp = RobotFileParser()
rp.set_url("http://www.baidu.com/robots.txt")
rp.read()print(rp.can_fetch("Baiduspider", "http://www.baidu.com"))
print(rp.can_fetch("Baiduspider", "http://www.baidu.com/homepage/"))
print(rp.can_fetch("Googlebot", "http://www.baidu.com/homepage/"))

在这里插入图片描述

  • 这里能看到,Googlebot是被严格禁止了的,所以为false
    在这里插入图片描述

以上,便是robots协议的学习笔记整理,来源于当前正在看的一本书–《Python3网络爬虫开发实战》。后面会持续学习并整理的。
感谢阅读~

http://www.lryc.cn/news/531330.html

相关文章:

  • Python小游戏29乒乓球
  • 220.存在重复元素③
  • 使用 Go 语言调用 DeepSeek API:完整指南
  • AJAX笔记原理篇
  • ubuntu直接运行arm环境qemu-arm-static
  • 尝试把clang-tidy集成到AWTK项目
  • 一文了解性能优化的方法
  • 【怎么用系列】短视频戒断——对推荐算法进行干扰
  • C#中的委托(Delegate)
  • PostCss
  • Linux 系统上安装 Docker 并进行配置
  • DeepSeek 等 AI 技术能否推动股市的繁荣?
  • 【网络】应用层协议http
  • 大数据数仓实战项目(离线数仓+实时数仓)2
  • 测试csdn图片发布
  • 站在JavaScript的视角去看,HTML的DOM和GLTF的Json数据。
  • 传输层协议 UDP 与 TCP
  • VSCode源码分析参考资料
  • 使用VCS对Verilog/System Verilog进行单步调试的步骤
  • ROS-激光雷达-消息包格式-获取激光雷达数据-激光雷达避障
  • c++之模板进阶
  • 关于Internet Download Manager(IDM)强制下载合并相关二次开发
  • 鸿蒙HarmonyOS Next 视频边播放边缓存- OhosVideoCache
  • (10) 如何获取 linux 系统上的 TCP 、 UDP 套接字的收发缓存的默认大小,以及代码范例
  • 程序代码篇---项目目录结构HSV掩膜Opencv图像处理
  • 注解与反射基础
  • Vue指令v-html
  • 院校联合以项目驱动联合培养医工计算机AI人才路径探析
  • CDDIS从2025年2月开始数据迁移
  • 前端 | JavaScript中的reduce方法