Web scraper and parser for HLTV match data
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Adrian Alic a4d7ee8bb5 Update repository links 2 weeks ago
src Update repository links 2 weeks ago
tests Implement HTML-code unescaping when parsing URLs 6 months ago
.gitignore Fix minor spelling error 10 months ago
Cargo.toml Implement HTML-code unescaping when parsing URLs 6 months ago
LICENSE-APACHE Create basic types for hltv data 11 months ago
LICENSE-MIT Create basic types for hltv data 11 months ago
README.md Update repository links 2 weeks ago

README.md

HLTV client

Documentation | Crates.io | Repository

A crate for fetching and parsing esports data from HLTV.org.

This crate allows you to fetch and parse upcoming matches, results, event information, player performance. This crate uses async calls via reqwest and parses the HTML document with tl. This API mimics the way you discover information on HLTV. Summary pages like HLTV Matches contain less information in the HTML document than the detailed match-specific page.

Currently, the following API calls are supported:

  • crate::upcoming
  • crate::results
  • crate::get_match

Examples

The builders in hltv allow you to build a generic Request object with a Request::fetch method.

#[tokio::test]
async fn results() -> Result<(), Box<dyn Error>> {
    let req = hltv::results()
        .map(Map::Inferno)
        .team(4608) // Team Na'Vi
        .year(2016) 
        .event_type(EventTypeFilter::Lan)
        .build();

    let matches = req.fetch().await?; // Vec<MatchResult>
    Ok(())
}

Getting more detailed information

License

This project is dual-licensed under the MIT and Apache 2.0 license.