当前位置:网站首页 > Java基础 > 正文

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



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

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

到此这篇java爬虫教学(java爬虫步骤)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 华为java面经(华为java笔试题)2025-10-11 09:00:07
  • 免费代码网站Java(免费代码网站推荐)2025-10-11 09:00:07
  • java面试八股文都是什么(java为什么叫面试八股文)2025-10-11 09:00:07
  • exe文件反编译为vb工程(exe反编译成java)2025-10-11 09:00:07
  • java调用dll动态库(java调用dll动态库二维数组)2025-10-11 09:00:07
  • java中字符串转为字符数组(java如何把字符串转换成字符数组)2025-10-11 09:00:07
  • java面试必考题(java面试常见笔试题)2025-10-11 09:00:07
  • java spring(JAVAspringboot项目)2025-10-11 09:00:07
  • java阻塞队列实现(java阻塞是什么意思)2025-10-11 09:00:07
  • java的网站(java程序网站)2025-10-11 09:00:07
  • 全屏图片