Jsoup的作用是可以解析HTML代码,它提供通过CSS选择器的方式获取文档元素。熟练使用组合选择器,有CSS或jQuery经验的人可以快速上手。
爬取以下新闻界面:
通过浏览器“检查”功能,选中标题元素,查找到元素类的值或id的值,灵活使用组合选择器,准确定位到具体的元素。
在Maven pom.xml中加入Jsoup依赖:
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.2</version>
</dependency>
Java代码:
public static void main(String[] args) throws IOException {
//Jsoup提供了简单的HTTP连接功能
Connection connect = Jsoup.connect("https://news.sina.com.cn/c/2021-09-09/doc-iktzscyx3130826.shtml");
//通过连接获得文档
Document document = connect.get();
//根据浏览器检查工具得出的HTML结构,获得新闻标题
Elements title = document.select(".main-content .main-title");
System.out.println(title.text());
//据浏览器检查工具得出的HTML结构,获得新闻日期
Elements date = document.select("#top_bar_wrap .date");
System.out.println(date.text());
//据浏览器检查工具得出的HTML结构,获得新闻来源
Elements resource = document.select("#top_bar_wrap .date-source a");
System.out.println(resource.text());
//据浏览器检查工具得出的HTML结构,获得新闻内容
Elements contents = document.select("#article p");
for(Element e:contents){
System.out.println(e.text());
}
}