JAVA写的爬虫小工具

2021-12-28 18:30:40 浏览数 (1)

昨天TJ君的一个好朋友来找TJ君帮忙,说是想从网上爬取一些公开的数据,其实就是朋友原来需要每天自己从网页上记录一些比赛的数据,用作后续分析,想偷个懒,靠程序去实现。

既然朋友有诉求,TJ君当然要想办法解决,于是想起了曾经一个看到过的开源基于JAVA编写的网页解析框架,jsoup,今天也来和大家一起分享学写下。

jsoup,是一款可以通过程序自动获取网页数据的开源项目,项目提供一个非常方便的API接口,通过使用HTML5 DOM方法和CSS选择器来获取URL中的数据,并进行提取操作。

jsoup通过实现WHATWG HTML5规范,完成了如下特点:

  • 从URL、文件或字符串中提取和解析HTML
  • 使用DOM遍历或CSS选择器查找和提取数据
  • 调整HTML元素、属性和文本
  • 根据安全列表清除用户提交的内容,以防止XSS攻击
  • 输出整洁的HTML

对于那种杂乱无章、没有固定规范的网页,jsoup基本都可以轻松的创建一个合理的解析树。

下面这个是作者给出的演示案例:

代码语言:javascript复制
Document doc = Jsoup.connect("https://en.wikipedia.org/").get();
log(doc.title());
Elements newsHeadlines = doc.select("#mp-itn b a");
for (Element headline : newsHeadlines) {
  log("%snt%s", 
    headline.attr("title"), headline.absUrl("href"));
}

案例中解析了Wikipedia的主页,然后将内容解析成DOM,然后选择了部分标题,放入元素列表。当然这是最简单的示例,实际运用中可能会碰到更加复杂的情况以及一些导出数据的问题,如果感兴趣的小伙伴多的话,TJ君后续结合朋友的诉求再专门讲解一篇爬虫实战。

0 人点赞