Robots协议
Robots 协议也称作机器人协议,主要用于搜索引擎去抓取网站页面。🔍通常存放在网站根目录下的robots.txt文件。该协议主要免去不必要的网站路径进行爬取。对于针对性的爬虫。😄也就没什么意义了。就好比告诉小偷,别偷你的东西。
基于遵循Robots协议进行的爬虫,首先会检查站点根目录下是否存在robots.txt文件,如果存在则根据其中定义的爬取范围进行爬取。如果没有则直接访问页面。
Robots规范
用户代理指令
使用user-agent指令用于指定规则适用于所有爬网程序:
User-agent: *
主要有Googlebot、BaiduSpider等标识
禁止指令
通过一个或多个disallow 指令来遵循用户代理行:
User-agent:*
Disallow:/User
disallow指定url后缀紧接着/User的链接则被阻止。
允许指令
通过allow指令可以避开disallow阻止的链接:
User-agent:*
Allow:/User/007
Disallow:/User
在disallow指定url后缀紧接着/User的页面则被阻止后,允许爬取/User/007链接地址。
Sitemap 指令
主要用于标识网站地图:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.lubaogui.com/wp-sitemap.xml
在各个搜索引擎站长工具上使用,便于搜索引擎收录🔍。
Robots 使用
使用robotparser模块进行检验是否遵循robots协议,代码如下:
from urllib.robotparser import RobotFileParser
from urllib.request import urlopen
rp =RobotFileParser()
rp.parse(urlopen('https://www.lubaogui.com/robots.txt')read()decode('utf-8').split('n'))
print(rp.can_fetch('*', 'https://www.lubaogui.com/96'))
=== 打印结果 ===
True
👨💻虽然爬虫普遍并没用去遵循robots.txt协议,但是建议各位进行爬取时,合理处理提取效率。避免影响目标站点的负载。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。