这是 Java 网络爬虫系列文章的第一篇,如果你还不知道 Java 网络爬虫系列文章,请参看 学 Java 网络爬虫,需要哪些基础知识。第一篇是关于 Java 网络爬虫入门内容,在该篇中我们以采集虎扑列表新闻的新闻标题和详情页为例,需要提取的内容如下图所示:
我们需要提取图中圈出来的文字及其对应的链接,在提取的过程中,我们会使用两种方式来提取,一种是 Jsoup 的方式,另一种是 httpclient + 正则表达式的方式,这也是 Java 网络爬虫常用的两种方式,你不了解这两种方式没关系,后面会有相应的使用手册。在正式编写提取程序之前,我先交代一下 Java 爬虫系列博文的环境,该系列博文所有的 demo 都是使用 SpringBoot 搭建的,不管你使用哪种环境,只需要正确的导入相应的包即可。
Jsoup 方式提取信息
我们先来使用 Jsoup 的方式提取新闻信息,如果你还不知道 Jsoup ,请参考 https://jsoup.org/
先建立一个 Springboot 项目,名字就随意啦,在 pom.xml 中引入 Jsoup 的依赖
org.jsoup
jsoup
1.12.1
好了,接下来我们一起分析页面吧,想必你还没浏览过吧,点击这里浏览虎扑新闻。在列表页中,我们利用 F12 审查元素查看页面结构,经过我们分析发现列表新闻在
由于我们前面已经知道了 css 选择器,我们结合浏览器的 Copy 功能,编写出我们 a标签的 css 选择器代码:div.news-list > ul > li > div.list-hd > h4 > a ,一切都准备好了,我们一起来编写 Jsoup 方式提取信息的代码:
/**
* jsoup方式 获取虎扑新闻列表页
* @param url 虎扑新闻列表页url
*/