No description
Find a file
Laurent Arnoud 6ba403aab9
Inital github-actions (#25)
* Inital github-actions

most taken from starship project
ref #21

* rustfmt config remove unknown configuration options

* Run rustfmt

* clippy: use any instead of find..is_some

* clippy: Remove the `clone` call: `self.crawl_delay`

* Clippy fixes

* Rustfmt fixes

* clippy: fix dont need to add `&` to all patterns

* clippy: fix needless `fn main` in doctest

* clippy: fix if-then-else expression returns a bool literal

* clippy: fix very complex type BoxFuture response

* clippy: fix variable `line_no` is used as a loop counter

* clippy: dereference the expression on tests

* clippy: fix assert(true) will be optimized out by the compiler

* github: name workflow
2020-03-30 09:32:32 +08:00
.github/workflows Inital github-actions (#25) 2020-03-30 09:32:32 +08:00
src Inital github-actions (#25) 2020-03-30 09:32:32 +08:00
tests Inital github-actions (#25) 2020-03-30 09:32:32 +08:00
.gitignore Refactoring of robotparser-rs (#20) 2020-01-31 17:00:58 +08:00
.travis.yml Remove clippy for now 2018-09-22 11:33:28 +08:00
appveyor.yml Use openssl 1.0.2p on Appveyor 2018-09-22 11:44:43 +08:00
Cargo.toml Refactoring of robotparser-rs (#20) 2020-01-31 17:00:58 +08:00
LICENSE Initial commit 2015-06-28 01:28:41 +08:00
README.md Switch to https for urls (#23) 2020-03-02 15:20:44 +08:00
rustfmt.toml Inital github-actions (#25) 2020-03-30 09:32:32 +08:00

robotparser-rs

Build Status Build status Coverage Status Crates.io Dependency status

robots.txt parser for Rust.

Installation

Add it to your Cargo.toml:

[dependencies]
robotparser = "0.11"

Add extern crate robotparser to your crate root and your're good to go!

Examples

use robotparser::http::RobotsTxtClient;
use robotparser::service::RobotsTxtService;
use reqwest::Client;
use url::Url;

fn main() {
    let client = Client::new();
    let robots_txt_url = Url::parse("https://www.python.org/robots.txt").unwrap();
    let robots_txt = client.fetch_robots_txt(robots_txt_url.origin()).unwrap().get_result();
    let fetch_url = Url::parse("https://www.python.org/robots.txt").unwrap();
    assert!(robots_txt.can_fetch("*", &fetch_url));
}

License

This work is released under the MIT license. A copy of the license is provided in the LICENSE file.