关于python:Robots协议

45次阅读

共计 1002 个字符,预计需要花费 3 分钟才能阅读完成。

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

正文完
 0