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/007Disallow:/User
在disallow指定url后缀紧接着/User的页面则被阻止后,容许爬取/User/007链接地址。
Sitemap 指令
次要用于标识网站地图:
User-agent: *Disallow: /wp-admin/Allow: /wp-admin/admin-ajax.phpSitemap: https://www.lubaogui.com/wp-sitemap.xml
在各个搜索引擎站长工具上应用,便于搜索引擎收录。
Robots 应用
应用robotparser模块进行测验是否遵循robots协定,代码如下:
from urllib.robotparser import RobotFileParser from urllib.request import urlopenrp =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协定,然而倡议各位进行爬取时,正当解决提取效率。防止影响指标站点的负载。