• 使用 Rust 进行程序


    首先,我们需要安装必要的库。在终端中运行以下命令来安装 `scraper` 和 `reqwest` 库:

    ```rust
    cargo install scraper reqwest
    ```

    然后,我们可以开始编写程序。以下是一个基本的爬虫程序,用于爬取 上的图片:

    ```rust
    use reqwest;
    use scraper::{html, parse};
    use std::collections::HashSet;

    fn main() {
        let proxy_host = 
        let proxy_port = 

        // 创建一个设置
        let proxy = reqwest::ProxyServer::new(proxy_host, proxy_port).unwrap();

        // 创建一个 HashSet 来存储我们已经访问过的 URL
        let mut visited_urls = HashSet::new();

        // 获取网页 HTML
        let mut response = proxy.get("https://www.10jqka.com.cn/").unwrap();
        response.set_proxy(proxy_host, proxy_port);

        let html = response.text().unwrap();

        // 解析 HTML 并提取图片 URL
        let urls = html
            .parse()
            .unwrap()
            .select(|node| node.is_text_node() && node.as_str().contains("src"))
            .map(|node| node.as_str().split(" ").nth(1).unwrap())
            .collect::>();

        // 访问每个 URL 并提取图片
        for url in urls {
            if !visited_urls.contains(url) {
                visited_urls.insert(url);

                // 下载图片
                let mut response = proxy.get(url).unwrap();
                response.set_proxy(proxy_host, proxy_port);

                let file = reqwest::cookies::CookieJar::new();
                let mut file = file.load("cookies.txt").unwrap();
                response.set_cookies(file);

                let body = response.text().unwrap();
                let mut file = File::create("image.jpg").unwrap();
                file.write_all(body.as_bytes()).unwrap();
            }
        }
    }
    ```

    这个程序首先创建了一个设置,然后使用 `reqwest` 库向目标网站发送请求并获取 HTML。

  • 相关阅读:
    【算法刷题日记之本手篇】微信红包与计算字符串的编辑距离
    java计算机毕业设计郑工校园二手交易平台网站源代码+系统+数据库+lw文档
    初中级前端程序员面试中小型公司会问哪些问题
    服务网关--Gateway
    新增文章出现bug怎么定位是前端问题还是后端问题
    R3LIVE论文学习(二):VIO子系统
    【AI】Interesting Applications
    npm详解
    【数据结构初阶】--- 栈和队列
    Java框架 Spring-AOP
  • 原文地址:https://blog.csdn.net/weixin_73725158/article/details/134239983