温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-01-04 11:15:42 来源:亿速云 阅读:172 作者:柒染 栏目:大数据

这篇文章将为大家详细讲解有关可以用来写爬虫的轮子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是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI