Jsoup介绍和主要功能
-
jsoup介绍
jsoup是一款java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM、CSS以及类似于JQuery的操作方法来取出和操作数据。 -
jsoup的主要功能:
1.从一个URL,文件或字符串中解析HTML
2.使用DOM或CSS选择器来查找,取出数据
3.可操作HTML元素、属性、文本
相关代码和注释
- maven依赖
<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
- 导入包
import org.apache.http.*;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
- 获取网页内容
CloseableHttpClient httpClient= HttpClients.createDefault(); // 创建httpClient实例
HttpGet httpGet=new HttpGet("http://www.cnblogs.com/"); // 创建httpget实例
CloseableHttpResponse response=httpClient.execute(httpGet); // 执行http get请求
HttpEntity entity=response.getEntity(); // 获取返回实体
String content = EntityUtils.toString(entity,"utf-8");
response.close(); // 关闭流和释放资源
- jsoup解析网页内容
Document doc = Jsoup.parse(content);//解析网页 得到文档对象
Elements elements = doc.getElementsByTag("title");//获取tag是title的所有DOM元素
Element element = elements.get(0);//获取第一个元素
String title = element.text();//返回元素的文本
System.out.println("网页标题是:"+title);
Element element2 = doc.getElementById("site_nav_top");//获取id=site_nav_top的DOM元素
String navTop = element2.text();//返回元素的文本
System.out.println("口号:"+navTop);
- 例子