Skip to content

1.0.0

Latest

Choose a tag to compare

@dotliberty dotliberty released this 17 Aug 12:30
· 7 commits to main since this release
025129c

What is "scr"?

This is simplified fork of crates reqwest = {version = "0.11", features = ["blocking"]} and scraper = "0.17.1" which working together. Also are system pub struct std::path::Path, pub struct std::fs::File and pub fn std::fs::write.

"How use last stable version of scr in app?"

# Cargo.toml
[dependencies]
scr = "1.0.0"

Examples

  • parse site

use scr::Scraper;

fn main() {
    let scraper = Scraper::new("scrapeme.live/shop/");
    let element = scraper.get_el("main#main>ul>li.product>a>h2");

    assert_eq!(element.inner_html(), "Bulbasaur")
}
  • parse fragment of site

use scr::Scraper;

fn main() {
    let scraper = Scraper::new("scrapeme.live/shop/");
    let fragment = scraper.get_text_once("main#main>ul>li.product>a");
    let new_scraper = Scraper::from_fragment(fragment.as_str());
    let element = new_scraper.get_el("a");

    assert_eq!(element.inner_html(), "Bulbasaur")
}
  • download file

use scr::FileLoader;

fn main() {
    let file_loader = FileLoader::new(
        "scrapeme.live/wp-content/uploads/2018/08/011.png",
        "./data/some_png.png"
    ).unwrap();
    
    assert_eq!(
        file_loader.file
            .file_name().unwrap()
            .to_str().unwrap(),
        "some_png.png"
    );
}

The first stable version of crate was developed by: