You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Rust的scraper库获取img的src属性时遇attr方法未找到问题

问题解决:scraper库提取img标签src属性报错

错误原因

你调用el.attr()时缺少属性名称参数,ElementRef的attr方法需要传入一个&str类型的属性名(比如"src"),用来指定要提取的目标属性。

修正后的代码

use scraper::{Html, Selector};

fn main() {
    // 假设next_document是已解析完成的Html实例
    let image_selector = Selector::parse("#photoInner > ul > li:nth-child(2) > div > img").unwrap();
    
    // 提取src属性,自动过滤无属性的情况
    let inner_image: String = next_document
        .select(&image_selector)
        .flat_map(|el| el.attr("src")) // 传入"src"作为要提取的属性名
        .collect(); // 若匹配多个元素,会拼接所有src值;如需单个元素可调整逻辑
    
    println!("{:?}", inner_image);
}

补充优化

如果只需要第一个匹配元素的src值,可调整逻辑避免拼接:

let inner_image = next_document
    .select(&image_selector)
    .next()
    .and_then(|el| el.attr("src"))
    .unwrap_or(""); // 未找到元素或属性时返回空字符串

内容的提问来源于stack exchange,提问作者Marcel Kopera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 07:41:35