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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结
三个工作日收到了offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。
- 第一个是算法
关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。
而且,我貌似是将《算法刷题LeetCode中文版》、《算法的乐趣》大概都过了一遍,尤其是这本
《算法刷题LeetCode中文版》总共有15个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题
《算法的乐趣》共有23个章节:
- 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)
基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)
- 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)
基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)
[外链图片转存中…(img-lYH3TGXP-1712995749769)]
- 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)
[外链图片转存中…(img-HJFj6CjW-1712995749770)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!