2025年java爬虫教学(java爬虫步骤)

java爬虫教学(java爬虫步骤)Java 爬虫 二 前言 在上一篇博客中我们采用了基于 HttpURLConne 的方式进行数据爬取 Java 爬虫 一 但是里面没有用任何框架 通过原生 http 进行爬取 那么问题来了 有没有什么轻便的框架供我们使用呢 Jsoup 是一款 Java 的 HTML 解析器 可直接解析某个 URL 地址 HTML 文本内容 它提供了一套非常省力的 API 可通过 DOM

大家好,我是讯享网,很高兴认识大家。



Java爬虫(二)

Jsoup 是一款 Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据,本篇博客将主要针对jsoup技术进行数据爬取,而且为了提高效率我们将采用多线程的方式进行数据的读取


爬取入口

我们就随便找个网站进行爬取吧,原理都一样,比如我们爬取一个国家统计局的数据,首先我们找到所爬取网站的页面如下:

Java 爬取数据 JavaScript 中的数据 java爬虫步骤_System
讯享网

比如我就爬天津市的数据,找到要爬取的网站页面入口为:


爬取思路

Java 爬取数据 JavaScript 中的数据 java爬虫步骤_System_02

从上图可以看出我们的基本大概思路和流程,但是由于网站的多变性我们不能冒然爬取,造成数据冗余,此网页最后一层网页只有文本信息以外,其余的网页都是一条文本信息对应一个文本信息对应一个URL地址,并且出最后一层之外,每一层的数字和文本信息对应的URL是相同的,所以我们只爬取名称就行了,如下:

Java 爬取数据 JavaScript 中的数据 java爬虫步骤_Java爬虫_03


开始爬取

注意我们下面Document导包路径都为:

Java 爬取数据 JavaScript 中的数据 java爬虫步骤_Java爬虫_04

1.简单的创建一个maven项目

Java 爬取数据 JavaScript 中的数据 java爬虫步骤_System_05

2.在pom.xml文件中添加如下依赖

3.创建主类

主类中定义全局共享的URL队列,同时定义Runnable实现类所要使用的核心控制模块的对象,使用固定线程池进行线程调度管理,以及根URL的定义以及入队列

4.创建Runnable实现类

通过此实现类不断调用核心控制类WormCore的方法,进行数据的爬取

5.核心控制类

此类就是我们上面说的核心控制类,首先将URI队列队弹出发送给网页抓取模块从而获取Document,其次将获取的Document发送给网页解析模块提取URL和文本信息,最后将信息的HashMap交给数据处理模块获取网页中所有的URL并再加入URL队列

6.网页抓取模块

根据核心控制类传来的URL获取Document并返回,自行设置超时时间以及超时之后的操作

7.网页解析模块

由于最后的页面和前面的页面不同,所以需要因地制宜,我们抛出了之前说的统计用区划代码数字,只要名称,所以博主通过下面的Number类里面的方法进行了判断

8.判断是否为数字

9.数据处理模块

将HashMap中保存URL的集合提取出来进行保存

10.最后运行结果如下:

Java 爬取数据 JavaScript 中的数据 java爬虫步骤_Core_06

结语:对于爬虫有多种方式,不同的方式存在着代码简明、爬取效率等各种差异,所以对于爬取数据应该要因地制宜

小讯
上一篇 2025-05-03 12:34
下一篇 2025-06-11 11:53

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/182312.html