jsoup:
jsoup实现WHATWG HTML5规范,并将HTML解析为与现代浏览器相同的DOM。
1.从URL,文件或字符串中抓取并解析 HTML
2、使用DOM遍历或CSS选择器查找和提取数据
3、处理 HTML元素,属性和文本
4、根据安全的白名单清除用户提交的内容,以防止XSS攻击
5、输出整洁的HTML
下载jar包:
下载并安装jsoup[官网下载地址Jsoup.jar](https://jsoup.org/download)
Maven地址:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.12.1</version>
</dependency>
文档地址[官方文档](https://jsoup.org/cookbook/introduction/parsing-a-document)
从字符串解析文档
String html = “
- “
Parsed HTML into a doc.
”;
Document doc = Jsoup.parse(html);
解析身体片段
String html = “
Lorem ipsum.
”;Document doc = Jsoup.parseBodyFragment(html);
Element body = doc.body();
使用Jsoup.parseBodyFragment(String html)方法。
从URL加载文档
您需要从网上获取并解析HTML文档,然后在其中查找数据(屏幕抓取)
使用Jsoup.connect(String url)方法:
Document doc = Jsoup.connect(“http://example.com/”).get();
String title = doc.title();
从文件加载文档
使用静态Jsoup.parse(File in, String charsetName, String baseUri)方法:
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, “UTF-8”, “http://example.com/”);
使用DOM方法浏览文档
将HTML解析为之后,请使用类似DOM的方法Document。
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, “UTF-8”, “http://example.com/”);
Element content = doc.getElementById(“content”);
Elements links = content.getElementsByTag(“a”);
for (Element link : links) {
String linkHref = link.attr(“href”);
String linkText = link.text();
}
修改资料
设置属性值
使用属性设置器方法Element.attr(String key, String value)和Elements.attr(String key, String value)。
如果需要修改class元素的属性,请使用Element.addClass(String className)和Element.removeClass(String className)方法。
清理HTML
清理不受信任的HTML(以防止XSS)
将jsoup HTML Cleaner用于由指定的配置Whitelist。
String unsafe =
“
String safe = Jsoup.clean(unsafe, Whitelist.basic());
// now: