首页 前端知识 跟jQuery那样简单方便操作Html文档的Java工具类,今天我必须要告知你!

跟jQuery那样简单方便操作Html文档的Java工具类,今天我必须要告知你!

2024-05-12 17:05:39 前端知识 前端哥 467 51 我要收藏

metaList size:22

meta:

meta:  property: name: content:text/html; charset=UTF-8


meta:

meta:  property: name: content:IE=edge


meta:

meta:  property: name:color-scheme content:light dark


meta:

meta:  property: name:viewport content:width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover


meta:

meta:  property: name:apple-mobile-web-app-capable content:yes


meta:

meta:  property: name:apple-mobile-web-app-status-bar-style content:black


meta:

meta:  property: name:format-detection content:telephone=no


meta:

meta:  property: name:description content:千万不要一开口说技术单词,都让面试官觉得你很low!给面试官的留下技术差的印象,这样你的面试也没戏了!\x0a你真觉得自己的技术单词读法很正确???\x0a用事实说话吧!本公众号回复:\x26quot;A123\x26quot;。即可马上测验你说的技术单词读法,面试官究竟能不能听懂?


获取标题


//获取标题

Element title = doc.getElementById(“activity-name”);

System.out.println("  title:"+title.text());

是不是很眼熟?title.text(); 哈哈哈,这不就是jQuery的获取标签中的内容方法吗?

获取文章中所有的图片的下载URL


Elements  body = doc.getElementsByTag(“body”);

Elements  imgs = body.select(“img[src]”);

int imgSize = imgs.size();

for(int i =0 ;i<imgSize;i++) {

Element img = imgs.get(i);

System.out.println("  img data-type:“+img.attr(“data-type”)+” src:"+img.attr(“src”));

}

执行log:

img data-type:png      src:https://mmbiz.qpic.cn/mmbiz_png/NFMAL0xaDd4dthvEbvKJqZMTUU4ls60KP1sbiaxlMv9oxoVXvFBnweNWYerXRkwib0lTnrtgCqowSiaUuzYk7xJUg/640?wx_fmt=png

img data-type:png      src:https://mmbiz.qpic.cn/mmbiz_png/NFMAL0xaDd4dthvEbvKJqZMTUU4ls60KmiaudibgjFZJscPG7BUiaJXOurHhUic03FmrmGxUQETniaDRoZus3rnsRlw/640?wx_fmt=png

img data-type:png      src:https://mmbiz.qpic.cn/mmbiz_png/NFMAL0xaDd4dthvEbvKJqZMTUU4ls60KDYVUVDhWibs0O2dDgNv9lVfyOQmXlia9BwbJFDrcgtmhUdGSaVoibCZlQ/640?wx_fmt=png

img data-type:png      src:https://mmbiz.qpic.cn/mmbiz_png/NFMAL0xaDd4dthvEbvKJqZMTUU4ls60Kt1l6ZVFpYuu8tBAYev8Fo79ia00wmRDgY0LZiaic25Mggl5nsiczsqxVSA/640?wx_fmt=png

img data-type:png      src:https://mmbiz.qpic.cn/mmbiz_png/NFMAL0xaDd4dthvEbvKJqZMTUU4ls60KDXuic2s3nibAWNdFDHplDJnE3gW6xax2wrY5I5TDj5SMuU0InQmtB14g/640?wx_fmt=png

img data-type:png      src:https://mmbiz.qpic.cn/mmbiz_png/NFMAL0xaDd4dthvEbvKJqZMTUU4ls60KPGYTK3f3iaicgNRKmnog0zl6tSfgessSKwvKQhC24T9b63jHRT5nCLhw/640?wx_fmt=png

img data-type:png      src:https://mmbiz.qpic.cn/mmbiz_png/NFMAL0xaDd4dthvEbvKJqZMTUU4ls60Ktd1QuwUIOicy1mXmwOzIxb7xoLsibHhZ3nPkTKiawfgq549qVfGouX4hg/640?wx_fmt=png

img data-type:png      src:https://mmbiz.qpic.cn/mmbiz_png/NFMAL0xaDd4dthvEbvKJqZMTUU4ls60Kq2gPUhia72HK6qHpgNPTwJhWNAX02XbtibibTeUrw8ASEBEbceicics1Drw/640?wx_fmt=png

img data-type:png      src:https://mmbiz.qpic.cn/mmbiz_png/NFMAL0xaDd4dthvEbvKJqZMTUU4ls60KjniaZ4kRQbI0G8vlQA49pJQv3VUMXr5aCZOQ8F4JZia4ibUia4wXPV9yaw/640?wx_fmt=png

img data-type:png      src:https://mmbiz.qpic.cn/mmbiz_png/NFMAL0xaDd4mdZLSR8QkoBGOfQrDt7raI7GbzfxOwZOr3b6e5icyjppyDUncmvoTtibOIptQ9w6sASVkQW2ib3UHQ/640?wx_fmt=png

是不是似曾相识的样子?哈哈哈,没错,就是她,获取标签的属性,跟jQuery一样,都是 attr() 方法。

set 值


跟jQuery一样,也可以用 attr() 方法设置新值。

Element testImg = imgs.get(0);//就拿第一个图片作为例子吧

System.out.println(" 原本是 :"+testImg.outerHtml());

testImg.attr(“data-type”,“testType2”);

System.out.println(" 设置后 :"+testImg.outerHtml());

再举个栗子,修改标题


Element title = doc.getElementById(“activity-name”);

System.out.println("  title:"+title.text());

title.text(“觉得有用就分享给朋友吧!原创不易啊,后面会有更多优质的原创内容,加油!”);

System.out.println(" after title:"+title.text());

结果log:

title:免费测试你口头说的技术单词,面试官是否能听懂?

after title:觉得有用就分享给朋友吧!原创不易啊,后面会有更多优质的原创内容,加油!

把这些改动直接保存到本地作为新的html文档


//保存到本地

FileWriter writer = new FileWriter(“D:\temp\demo\wxPageResult.html”);

writer.write(doc.outerHtml());

测试截图:

其实,还有很多好用的API,这就要靠你们自己去研究一下了。


API中文文档:

https://www.open-open.com/jsoup/parsing-a-document.htm

本文的完整代码

=======

本文用到hutool工具包,不是必要的,只是为了方便读取和保存本地文件而已。可以不要的。

cn.hutool

hutool-core

5.4.1

引入Jsoup


org.jsoup

jsoup

1.13.1

本文代码


@Test

public void test() throws IOException {

FileReader fileReader = new FileReader(“D:\temp\demo\wxPage.html”);

String result = fileReader.readString();

Document doc = Jsoup.parse(result);

Elements metaList = doc.getElementsByTag(“meta”);

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

三个工作日收到了offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。

  • 第一个是算法

关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。

而且,我貌似是将《算法刷题LeetCode中文版》、《算法的乐趣》大概都过了一遍,尤其是这本

《算法刷题LeetCode中文版》总共有15个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

《算法的乐趣》共有23个章节:

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

  • 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)

基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

  • 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)

基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)

[外链图片转存中…(img-lYH3TGXP-1712995749769)]

  • 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)

[外链图片转存中…(img-HJFj6CjW-1712995749770)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

转载请注明出处或者链接地址:https://www.qianduange.cn//article/8409.html
标签
评论
发布的文章

1.10 Unity中的数据存储 JSON

2024-06-13 21:06:30

JSON 数据格式化方法

2024-06-13 21:06:26

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!