Jsoup的使用总结


官方文档链接

有疑惑先去看官方文档,官方的是最权威的,也是最全的。

当涉及到解析前端页面相关内容时,可以使用Jsoup进行解析,简单方便。

常用案例:爬虫爬取数据、对编辑器内容的操作,简而言之,只要发现div、html、img类似前端页面属性的内容需要做处理,用Jsoup就完了。

获取内容并重新赋值

本次案例是要将知识库中的某篇文章进行翻译,翻译的语种不确定,可以是英文的,可以使日文等等吧。如果直接全篇翻译,调用翻译接口后,因为使用的是编辑器编辑的,存在很多的样式属性,好多不该被翻译的都翻译了,导致最终无法使用。

于是有了以下代码,很简单的一个demo,因为只是给同事一点建议,所以主要是展示个意思,具体优化看自己发挥。

public static void main(String[] args) {
String test = "
(1)首先安装小狐狸插件
\n" +
"
首先进入谷歌浏览器—>点击设置—>点击扩展程序—>搜索MetaMask—>点击添加到chrome
\n" +
"
(2)创建/导入钱包
\n" +
"
安装成功后就会出现一下页面
\n" +
"
\"\"
\n" +
"
 小狐狸的脸会跟着鼠标移动的哟。
\n" +
"
然后就可以开始使用了,点击开始使用后,选择创建钱包
\n" +
"
 
\n" +
"
\"\"
\n" +
"
\"\"
\n" +
"
 
\n" +
"
点击同意 ,观看官方注册帮助
\n" +
"
\"\"
\n" +
"
\"\"
\n" +
"
  这里稍微说明一下,下一步操作,会把你的助记词打乱,然后按照上一步操作得到的助记词顺序依次点击即可,如下
\n" +
"
\"\"
\n" +
"
 
\n" +
"
完成
\n" +
"
 
\n" +
"
\"\"
\n" +
"
\"\"
\n" +
"
 
\n" +
"
\"\"
";
//使用Jsoup解析文本内容
Document document = Jsoup.parse(test);
//获取到所有div标签
Elements divs = document.getElementsByTag("div");
for (Element div : divs) {
//遍历所有div标签 并获取具体文本内容
String html = div.html();
//图片直接忽略 不进行翻译
if (!html.contains("img")){
//翻译接口 用的是百度提供的API 自己替换即可
String s = FanYiUtil.fanYi(html);
//将翻译后的结果重新赋值
Element html1 = div.html(s);
System.out.println(html1);
}else{
System.out.println(html);
}
}
}

待续......