package com.baidu;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JsoupNode {
/*
* jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。
* 它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
*/
public static void main(String[] args) throws IOException {
// htmlDemo();//html 格式化
// htmlTitle();//获取一个网站的头信息
// htmlPost();//获取网站的信息
// htmlBody();
htmlQuery();
}
public static void htmlQuery() throws IOException {
Document doc = Jsoup.connect("http://example.com")
.data("query", "Java")//请求
.userAgent("Mozilla")//userAgent
.cookie("auth", "token")//cookie
.timeout(3000).post();//请求方式
System.out.println(doc);
}
public static void htmlBody() {
String html = "<div><p>Lorem ipsum.</p>";
Document doc = Jsoup.parseBodyFragment(html);
Element body = doc.body();
System.out.println(body);
}
public static void htmlDemo() {
// 直接从字符串中输入 HTML 文档
String html = "<html><head><title> 开源中国社区 </title></head>"
+ "<body><p> 这里是 jsoup 项目的相关文章 </p></body></html>";
Document doc = Jsoup.parse(html);
System.out.println(doc);
}
public static void htmlTitle() throws IOException {
// 从 URL 直接加载 HTML 文档(头信息)
Document doc = Jsoup.connect("http://www.baidu.com/").get();
String title = doc.title();
System.out.println(title);
}
public static void htmlPost() throws IOException {
// 从 URL 直接加载 HTML 文档
Document doc = Jsoup.connect("http://www.baidu.com/")
.data("query", "Java") // 请求参数
.userAgent("I ’ m jsoup") // 设置 User-Agent
.cookie("auth", "token") // 设置 cookie
.timeout(3000) // 设置连接超时时间
.post(); // 使用 POST 方法访问 URL
System.out.println(doc);
}
}