千家信息网

可以用来写爬虫的轮子nipper是怎样的

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章将为大家详细讲解有关可以用来写爬虫的轮子nipper是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。写了一个轮子nipper ,顾名思义
千家信息网最后更新 2025年02月03日可以用来写爬虫的轮子nipper是怎样的

这篇文章将为大家详细讲解有关可以用来写爬虫的轮子nipper是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

写了一个轮子nipper ,顾名思义就是用来像镊子一样操作HTML的。
可以使用css选择器的语法在给定的html里查询需要的元素,甚至是修改这些元素。
  
    
use nipper::Document; let html = include_str!("../test-pages/hacker_news.html"); let document = Document::from(html);
document.select("tr.athing").iter().for_each(|athing| { let title = athing.select(".title a"); let source = title.select(".sitestr"); // The next sibling. let meta = athing.next(); let score = meta.select("span.score"); let hnuser = meta.select("a.hnuser"); let age = meta.select("span.age"); // The last matched element. let comment = meta.select("a").last();
println!("Title: {}", title.text()); if source.exists() { println!("> from: {}", source.text()); } if score.exists() { println!("> {}", score.text()); } if hnuser.exists() { println!("> by {}", hnuser.text()); } println!("> {}", age.text()); println!("> {}", comment.text()); println!(); });
其实rust早就有了类似的crate,但是这些轮子语法都有点繁琐,而且基本都只能查询,不能修改元素,

关于可以用来写爬虫的轮子nipper是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0