关注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君

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

JAVA写的爬虫小工具相关推荐

  1. java写测试小工具,java试题自我测试小工具

    java试题自我测试小工具 北京石油化工学院 数理系 科 072 071616 刘红育 1 Java 语言综合设计实验报告 --GUI 编程设计题目: Java 试题自我测试小工具 班级: 学号: 姓 ...

  2. 用JAVA写一个画图小程序(JAVA 大作业)

    第一次写博客 且是稍微大点的程序 看看就行 重新写的在这,更加清晰明了:点击进入:用JAVA写一个画图小程序(JAVA 大作业)重排版本 设计思路 首先我直接去了Windows自带画图程序去实践模拟, ...

  3. PyQt5制作一个爬虫小工具,爬取雪球网上市公司的财务数据

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于可以叫我才哥 ,作者:可以叫我才哥 最近有朋友需要帮忙写个爬虫脚本,爬取雪球网一些上 ...

  4. PyQt5制作一个爬虫小工具,获取某网上市公司的财务数据可视化

    最近有朋友需要帮忙写个爬虫脚本,爬取雪球网一些上市公司的财务数据.盆友希望可以根据他自己的选择进行自由的抓取,所以简单给一份脚本交给盆友,盆友还需要自己搭建python环境,更需要去熟悉一些参数修改的 ...

  5. PHP写个Web小工具来监控你的加密币

    编写一个网页小工具来监控你的加密币投资组合的价值,只需要非常简单的PHP和HTML技能就行. 文章目的超级简单,但我认为可能有很多人会加入加密货币的投资,在某个地方拥有一个网站,并想建立一个私人(或者 ...

  6. 某程序员为方便老婆工作,写了一些小工具给老婆用!如今老婆要离职,公司老板却要求必须把工具留下!网友:跟他收费!...

    请点击上面 一键关注! 最近一个程序员发帖说了这么一件有意思的事: 老婆是一个小公司的hr兼行政,工作繁琐,为了支持老婆工作,这个程序员就写了一些小工具给老婆用,包括工牌生成器.日报格式化工具.年会抽 ...

  7. python桌面开发吐血_想用java写个桌面小demo,就布局都差点写吐血了,学艺不精...

    demo简略需求 项目背景 很多文件重复存放,除了管理混乱,还会对患有强迫症用户的身心造成10000点的伤害...其实就是360云盘当时上传了有上传,造成很多重复的图片+视频,前阵子360个人云盘&q ...

  8. 【kimol君的无聊小发明】—用python写截屏小工具

    [kimol君的无聊小发明]-用python写截屏小工具 前言 一.技术实现 1. 相关库 2. 定义窗口 3. 绘制工具条 4. 定义事件函数 二.后续改进 写在最后 前言 今天我看了一下自己的文件 ...

  9. java web 项目 常用 小工具类 ~~~~

    java web 项目 常用 小工具类 ~~~~ 一 .DateUtil  日期工具类 package com.devframe.common.util;import java.text.Simple ...

最新文章

  1. 递归解决八皇后问题-小昝
  2. 掉网问题的log分析
  3. Laravel以及Laravel-admin的命令行使用总结
  4. 【HNOI2019】部分题简要题解
  5. nodejs操作sqlserver数据_nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例...
  6. RabbitMQ的5种队列_简单队列_入门试炼_第4篇
  7. 有了优秀的可临摹PSD分层模板|瞬间提升海报质感!
  8. 逻辑回归模型(Logistic Regression)及Python实现
  9. 质性数据分析软件NVivo的代码
  10. Matlab 专题八——Matlab 图形用户界面设计
  11. 上游任务upstream task
  12. 【单片机毕业设计】【mcuclub-103】智能花盆 | 智能养殖箱 | 多功能花盆 | 多功能养殖箱【实物设计】
  13. android系统开机logo定制
  14. MAC上VSCode无Git源代码管理的解决办法
  15. 江苏省电子税务局中文点选验证码识别研究
  16. java字符串反转reverse();
  17. Cesium之天空盒对应方位
  18. CQJTU web学习之HTMLCSS学习总结
  19. flutter 分组列表
  20. 如何应对大促?看京东核心中间件团队的高可用实践指南

热门文章

  1. KBMMW 4.80.00 发布
  2. 你好,C++(18) 到底要不要买这个西瓜?4.1.6 操作符之间的优先顺序
  3. sql--找含有制定字符列的表
  4. CentOS6.0_X86_64 oracle 11g R2 开机自动启动(linux)
  5. 一个普通大学生的经历
  6. ftp安装遇到的问题
  7. python3 多进程 multiprocessing 报错 AttributeError: ‘ForkAwareLocal‘ object has no attribute ‘connection‘
  8. python 排序函数 sort sorted 简介
  9. linux centos7 NetworkManager 命令行网络配置工具 nmcli 简介
  10. installer,source,binary,archive 版本区别