andronof / robotstxt
解析 robots.txt
1.2.0
2018-11-05 14:33 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-20 22:23:05 UTC
README
这是一个用于解析 robots.txt 文件的库。它使用 PHP 编写。该库的主要任务是检查任何链接是否被关闭以供索引。解析规则来自 Яндекс 的描述。
解析规则
- 解析所有关于爬虫的数据。
- 对于每个爬虫,按照链接长度进行排序。如果多条规则长度相同,则优先考虑允许(allow)的规则。
- 包含空值的规则将被修改为其相反值。
安装
通过 composer
{ "require": { "andronof/robotstxt": "dev-master" } }
并运行命令
composer update
将安装最新版本,但不一定是稳定版,或者
composer require andronof/robotstxt
将安装最新稳定版本
使用
$robotstxt = new \Robotstxt(file_get_contents('http://yandex.ru/robots.txt'));
或者
$robotstxt = new \Robotstxt(); $robotstxt->init(file_get_contents('http://yandex.ru/robots.txt'));
检查链接是否在 robots.txt 中被禁止
if ($robotstxt->isAllowed('/msearch') ) { echo('Доступ разрешен'); } else { echo('Доступ запрещен'); }
该函数可以接受第二个参数作为爬虫名称。如果没有指定,则使用所有(*)的规则。请用起始斜杠(/)指定要检查的链接。
其他函数
- isUserAgent($user_agent) — 检查是否有针对特定爬虫的规则
- setUserAgent($user_agent = null) — 设置要使用哪个爬虫的规则。如果指定了爬虫,则比在 isAllowed 函数中指定爬虫有更高的优先级。如果需要重置全局爬虫,请将 null 传递给该函数。