#soup #html5ever #html #python #top #manipulating #querying

soup-kuchiki

受到 Python 库 BeautifulSoup 的启发,这是 html5ever 之上的一层,增加了不同的 API 用于查询和操作 HTML

1 个不稳定版本

使用旧的 Rust 2015

0.5.0 2022年10月26日

#5#soup


3 个 crate 使用(通过 fetcher-core

GPL-3.0 许可

50KB
867 代码行,不含注释

Soup

受到 Python 库 BeautifulSoup 的启发,这是在 html5ever 上的一层,增加了不同的 API 用于查询和操作 HTML

这是原 soup crate 的重新上传,已经被移植到 kuchiki 这里

文档(最新版本)

文档(master)

安装

为了使用,将以下内容添加到您的 Cargo.toml

[dependencies]
soup = "0.5"

用法

// src/main.rs
extern crate reqwest;
extern crate soup;

use std::error::Error;

use reqwest;
use soup::prelude::*;

fn main() -> Result<(), Box<Error>> {
    let response = reqwest::get("https://google.com")?;
    let soup = Soup::from_reader(response);
    let some_text = soup.tag("p")
			.attr("class", "hidden")
			.find()
			.and_then(|p| p.text());
    OK(())
}

依赖项

~6–12MB
~136K SLoC