服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - java编程实现简单的网络爬虫示例过程

java编程实现简单的网络爬虫示例过程

2022-02-20 12:01spring小杨 Java教程

这篇文章主要为大家介绍了如何使用java编程实现一个简单的网络爬虫示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

本项目中需要用到两个第三方jar包,分别为 jsoup 和 commons-io。

jsoup的作用是为了解析网页, commons-io 是为了把数据保存到本地。

1.爬取贴吧

第一步,打开eclipse,新建一个java项目,名字就叫做 pachong:

java编程实现简单的网络爬虫示例过程

然后,新建一个类,作为我们程序的入口。

java编程实现简单的网络爬虫示例过程

这个作为入口类,里面就写一个main方法即可。

public class StartUp {
	public static void main(String[] args) {
		
	}
}

第二步,导入我们的依赖,两个jar包:

java编程实现简单的网络爬虫示例过程

右键jar包,Build path , add to Build path

接着,我们试着搜索一下动漫吧的数据:

https://tieba.baidu.com/f?kw=%B6%AF%C2%FE&tpl=5

public class StartUp {

	public static void main(String[] args) {
		String url = "https://tieba.baidu.com/f?kw=%B6%AF%C2%FE&tpl=5";
		Connection connect = Jsoup.connect(url);
		System.out.println(connect);
	}
}

如果能够成功打印出来链接,说明我们的连接测试是成功的!

java编程实现简单的网络爬虫示例过程

然后,我们调用connect的get方法,获取链接到的数据:

Document document = connect.get(); 

java编程实现简单的网络爬虫示例过程

这边需要抛出一个异常,而且是强制性的,因为有可能会获取失败。这边我们直接抛出去,不去捕获。

public class StartUp {

	public static void main(String[] args) throws IOException {
		String url = "https://tieba.baidu.com/f?kw=%B6%AF%C2%FE&tpl=5";
		Connection connect = Jsoup.connect(url);
		System.out.println(connect);
		
		Document document = connect.get(); 
		System.out.println(document);
	}
}

打印出来的结果:

java编程实现简单的网络爬虫示例过程

可见,document对象装的就是一个完整HTML页面。

在这里,我们想要拿到的第一个数据,就是所有帖子的标题:

我们发现,每一个标题都是一个a连接,class为j_th_tit 。

下一步我们就考虑获取所有class为 j_th_tit 的元素。

java编程实现简单的网络爬虫示例过程

我们发现,document对象给我们提供了 getElementsByClass 的方法,顾名思义,就是获取class为 XXX 的元素。

Elements titles = document.getElementsByClass("j_th_tit");

接着,遍历titles,打印出每一个标题的名称:

for (int i = 0; i < titles.size(); i++) {
	System.out.println(titles.get(i).attr("title"));
}

当前代码:

import java.io.IOException;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
public class StartUp {
	public static void main(String[] args) throws IOException {
		String url = "https://tieba.baidu.com/f?kw=%B6%AF%C2%FE&tpl=5";
		Connection connect = Jsoup.connect(url);		
		Document document = connect.get(); 		
		Elements titles = document.getElementsByClass("j_th_tit");		
		for (int i = 0; i < titles.size(); i++) {
			System.out.println(titles.get(i).attr("title"));
		}		
	}
}

以上就是java编程实现简单的网络爬虫示例过程的详细内容,更多关于java实现网络爬虫的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/weixin_39570751/article/details/120713590

延伸 · 阅读

精彩推荐