查看原文
其他

JAVA写的爬虫小工具

TJ TJ君 2022-03-17

大家好,我是TJ

关注TJ君,回复“武功秘籍”免费获取计算机宝典书籍

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

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

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

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

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

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

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

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("%s\n\t%s"
    headline.attr("title"), headline.absUrl("href"));
}

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

jsoup的完整开源项目如下,想自己先实践的小伙伴赶紧上车:

点击下方卡片,关注公众号“TJ君

回复“爬取数据”,获取仓库地址

关注我,每天了解一个牛x、好用、有趣的东东

往期推荐

装机必备的开源快捷启动工具

还在给网盘充值VIP?来试试这款Github上4万星的文件同步工具

2022最新限量红包封面,炸裂的不要不要的!!!

圣诞夜,让你的代码都变成圣诞树吧!

没看过这个开源项目你就不知道代码究竟能有多好看



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存