iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java编程实现简单的网络爬虫示例过程
  • 805
分享到

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

2024-04-02 19:04:59 805人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本项目中需要用到两个第三方jar包,分别为 jsoup 和 commons-io。 jsoup的作用是为了解析网页, commons-io 是为了把数据保存到本地。 1.爬取贴吧 第

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

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

1.爬取贴吧

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

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

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


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

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

右键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);
	}
}

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

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


Document document = connect.get(); 

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


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);
	}
}

打印出来的结果:

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

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

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

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

我们发现,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实现网络爬虫的资料请关注编程网其它相关文章!

--结束END--

本文标题: java编程实现简单的网络爬虫示例过程

本文链接: https://www.lsjlt.com/news/154499.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作