#web-scraping #flows #networking #page #text #flow #content

web-scraper-flows

flows.network的Web爬虫集成

1个不稳定版本

0.1.0 2023年6月9日

#28 in #flows

MIT/Apache

7KB
57

这是一个库,用于在flows.network的流程函数中集成Web爬虫。

访问Web爬虫

以下示例展示了响应网页文本内容的lambda服务,其中url作为查询参数传入。

use std::collections::HashMap;

use lambda_flows::{request_received, send_response};
use serde_json::Value;
use web_scraper_flows::get_page_text;

#[no_mangle]
#[tokio::main(flavor = "current_thread")]
pub async fn run() {
    request_received(handler).await;
}

async fn handler(qry: HashMap<String, Value>, _body: Vec<u8>) {
    let url = qry.get("url").expect("No url provided").as_str().unwrap();

    match get_page_text(url).await {
        Ok(text) => send_response(
            200,
            vec![(
                String::from("content-type"),
                String::from("text/plain; charset=UTF-8"),
            )],
            text.as_bytes().to_vec(),
        ),
        Err(e) => send_response(
            400,
            vec![(
                String::from("content-type"),
                String::from("text/plain; charset=UTF-8"),
            )],
            e.as_bytes().to_vec(),
        ),
    }
}

整个文档在这里:这里

依赖项

~435KB