robotstxt - 我用 Rust 重写了 Google 的 robotstxt 解析库

2020-05-24 15:32:58 +08:00
 Wichna

我把 Google 的 robotstxt 解析库 port 到 rust 了,并且用 FFI 的方式跑通了 C++的测试用例。感兴趣的朋友欢迎 star 🥳

地址:https://github.com/Folyd/robotstxt

robotstxt

A native Rust port of Google's robots.txt parser and matcher C++ library.

Installation

[dependencies]
robotstxt = "0.2.0"

Quick start

use robotstxt::DefaultMatcher;

let mut matcher = DefaultMatcher::default();
let robots_body = "user-agent: FooBot\n\
                   disallow: /\n";
assert_eq!(false, matcher.one_agent_allowed_by_robots(robots_body, "FooBot", "https://foo.com/"));
2573 次点击
所在节点    分享创造
7 条回复
tikazyq
2020-05-24 16:16:35 +08:00
只能 rust 用么?有不有 py 的接口?
Wichna
2020-05-24 18:11:41 +08:00
@tikazyq Python 可以调用 rust 版本的库
tulongtou
2020-05-24 18:25:03 +08:00
@tikazyq 可以用 pyO3 封装成 python 扩展
jimmyismagic
2020-05-24 19:24:08 +08:00
@tikazyq 本来就是 c++的,为什么还要转换成 rust 后再转成 python
leoleoasd
2020-05-24 22:03:12 +08:00
差点看成 floyd hhh
Wichna
2020-05-24 22:25:26 +08:00
@leoleoasd 哈哈哈,本意就是 Floyd,注册域名的时候手抖打错了,当时没发现,然后将错就错沿用至今了
Wichna
2020-05-24 22:27:21 +08:00
@jimmyismagic rust 版是我自己实现的一个库,其他 rust 项目就可以直接调用了。至于 python 项目想调用 C++还是 Rust 的版本都可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/674911

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX