9 个版本 (3 个稳定版)
1.0.2 | 2023 年 8 月 21 日 |
---|---|
1.0.1 | 2023 年 8 月 20 日 |
0.2.3 | 2023 年 8 月 16 日 |
0.1.1 | 2023 年 8 月 15 日 |
#26 in #site
每月 58 次下载
12KB
102 行
scr
"简单是可靠性的前提" — Edsger Dijkstra
什么是 "scr"?
这是对 crates reqwest = {version = "0.11", features = ["blocking"]}
和 scraper = "0.17.1"
的简化分支,它们协同工作。还包括系统 pub struct std::path::Path
、pub struct std::fs::File
和 pub fn std::fs::write
。
"如何在应用程序中使用 scr 的最新稳定版本?"
# Cargo.toml
[dependencies]
scr = "1.0.2"
示例
-
解析网站
use scr::Scraper;
fn main() {
let scraper = Scraper::new("scrapeme.live/shop/").unwrap();
let element = scraper.get_el("main#main>ul>li.product>a>h2").unwrap();
assert_eq!(element.inner_html(), "Bulbasaur")
}
-
解析网站片段
use scr::Scraper;
fn main() {
let scraper = Scraper::new("scrapeme.live/shop/").unwrap();
let fragment = scraper.get_text_once("main#main>ul>li.product>a").unwrap();
let new_scraper = Scraper::from_fragment(fragment.as_str()).unwrap();
let element = new_scraper.get_el("a").unwrap();
assert_eq!(element.inner_html(), "Bulbasaur")
}
-
下载文件
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"
);
}
该 crate 由以下人员开发
-
版本 1.0
依赖项
~6–19MB
~298K SLoC