如何用 Rust Reqwest 写一个Web 爬虫?
use reqwest::Client;
use std::io::{self, Write};
// 异步下载网页内容
async fn download_website(client: &Client, url: &str) -> Result<String, reqwest::Error> {
let res = client.get(url).send().await?;
let body = res.text().await?;
Ok(body)
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// 初始化一个 Reqwest 客户端
let client = Client::new();
// 待下载的网页 URL
let url = "https://www.example.com";
// 下载网页内容
let content = download_website(&client, url).await?;
// 打印网页内容到控制台
println!("网页内容:\n{}", content);
// 将内容写入到文件
let mut file = io::stdout();
writeln!(file, "{}", content)?;
Ok(())
}
这段代码使用了 Reqwest 库来异步下载一个网页的内容,并将其打印到控制台和文件中。这是一个简单的网络爬虫示例,展示了如何在 Rust 中使用 Reqwest 库进行基本的 HTTP 请求。
评论已关闭