1个不稳定版本
0.1.0 | 2023年6月9日 |
---|
#28 in #flows
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