java文章采集爬虫代码示例
Posted 洛阳泰山
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java文章采集爬虫代码示例相关的知识,希望对你有一定的参考价值。
前言
由于爬虫性质的特殊性,本文将部分爬取文章的网站例子,用###代替,希望大家能学习java爬取代码技巧!!!
pom文件引入所需要的依赖
<!--jsoup-->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.13.1</version>
</dependency>
jsoup 是一款Java 的html解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
核心实现代码
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import java.io.IOException;
/**
* 文章采集
* @author tarzan
* @date 2021/5/31
*/
public class ArticleCollect {
//网站地址
private static String webUrl="###";
/**
* @param url 访问路径
* @return
*/
public static Document getDocument(String url) {
try {
//5000是设置连接超时时间,单位ms
return Jsoup.connect(url).timeout(5000).get();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
int pageNum=0;
while (true){
pageNum++;
if(!readPage(webUrl,pageNum)){
break;
}
}
}
public static String readArticle(String url) {
Document doc= getDocument(url);
//获取文章标题
Elements title = doc.select("title");
System.out.println(title);
//获取文章内容
Elements content = doc.select("###");
return content.html();
}
public static boolean readPage(String webUrl,int pageNum) {
Document doc = getDocument(webUrl+"/article/list/"+pageNum);
// 获取目标HTML代码
Elements elements = doc.select("###");
//文章列表
Elements articles = elements.select("###");
if (articles.size() == 0) {
return false;
}
articles.forEach(e -> {
String url = e.select("a").attr("href");
readArticle(url);
try {
//等待3秒
Thread.sleep(3000);
} catch (InterruptedException interruptedException) {
System.out.println("线程中断故障");
}
});
return true;
}
}
控制台运行输出
以上是关于java文章采集爬虫代码示例的主要内容,如果未能解决你的问题,请参考以下文章