我正在写一些东西来从亚马逊提取产品数据,但我不确定如何规范 HTML 中的空白。
fn parse_html(html: std::string::String) {
let fragment = Html::parse_fragment(&html);
let product_title = Selector::parse(".s-line-clamp-2").unwrap();
for title in fragment.select(&product_title) {
let title_txt = title.text().collect::<Vec<_>>();
println!("{:?}", title_txt);
}
}
Run Code Online (Sandbox Code Playgroud)
这可行,但我得到的数据是这样的["\n \n \n \n\n\n\n\n", "\n \n \n \n ", "Men\'s Sneakers", "\n \n \n \n \n", "\n\n \n"]
我只想要这个:["Men\'s Sneakers"]
您可以使用trim从字符串末尾删除空格并filter从向量中删除空字符串:
let title_txt = title
.text()
.map(|s| s.trim())
.filter(|s| !s.is_empty())
.collect::<Vec<_>>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3220 次 |
| 最近记录: |