2 个版本

0.1.1 2024年3月31日
0.1.0 2024年3月30日

#6 in #robots-txt

MIT 许可证

27KB
592

Roboto:解析和使用 robots.txt 文件

Roboto 提供了一种类型安全的解析和使用 robots.txt 文件的方式。它基于 Robots Exclusion 协议,用于大约控制网络爬虫和其他网络机器人的行为。

安装

将以下内容添加到您的 Cargo.toml

[dependencies]
roboto = "0.1"

用法

use roboto::Robots;

let robots = r#"
User-agent: *
Disallow: /private
Disallow: /tmp
"#.parse::<Robots>().unwrap();

let user_agent = "googlebot".parse().unwrap();

assert_eq!(robots.is_allowed(&user_agent, "/public"), true);

lib.rs:

解析和应用 robots.txt 文件。

示例

use roboto::Robots;

let robots = r#"
User-agent: *
Disallow: /
"#.parse::<Robots>().unwrap();

assert!(!robots.is_allowed(&"googlebot".parse().unwrap(), "/"));
assert!(robots.is_allowed(&"googlebot".parse().unwrap(), "/robots.txt"));
assert!(!robots.is_allowed(&"googlebot".parse().unwrap(), "/foo/bar"));

参考

依赖

~120KB