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协定,然而倡议各位进行爬取时,正当解决提取效率。防止影响指标站点的负载。
发表回复