软件园学生在线

  • {{ item.name }}
  • 2023试用期

登录与注册

[后端二] 丁一

  • DingYi
  • 2022-10-23
  • 0

基于Jsoup的网络小说爬虫

一.HTML阅读

\ 与 之间的文本描述网页

\ 与 之间的文本是可见的页面内容

\ 与 之间的文本被显示为标题

\

与

之间的文本被显示为段落

\中的文本为超链接URL

二.Maven

1.Maven 是一款基于 Java 平台的项目管理和整合工具,只需要做一些简单的配置,Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。

2.Maven 是使用 Java 语言编写的,因此它和 Java 一样具有跨平台性.

3.Maven 坐标,任何一个构件都可以使用 Maven 坐标并作为其唯一标识,Maven 坐标包括 groupId(项目组 ID,取值一般是项目所属公司或组织的网址或 URL的反写)、artifactId( 项目 ID,通常是项目的名称)、version(版本)、packaging(项目的打包方式,默认值为 jar) 等元素,只要用户提供了正确的坐标元素,Maven 就能找到对应的构件,任何一个构件都必须明确定义自己的坐标.

4.依赖:如果一个 Maven 构建所产生的构件被其他项目引用,那么该构件就是其他项目的依赖。Maven 项目必须明确定义自己的坐标,才可能成为其他项目的依赖。

dependencies 元素可以包含一个或者多个 dependency 子元素,用以声明一个或者多个项目依赖,每个依赖都可以包含以下元素:

a. groupId、artifactId 和 version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven 根据坐标才能找到需要的依赖。

b. type:依赖的类型,对应于项目坐标定义的 packaging。大部分情况下,该元素不必声明,其默认值是 jar。

c. scope:依赖的范围。

d. optional:标记依赖是否可选。

e. exclusions:用来排除传递性依赖。

5.在本次作业中,利用了project structrue将Spider打成了jar包

三.Jsoup

1.Jsoup是用于解析HTML的解析器 , 通过在Maven中导入Jsoup依赖,可以实现:

​ a.从URL,文件或字符串中刮取并解析HTML

​ b.查找和提取数据,使用DOM遍历或CSS选择器

​ c.操纵HTML元素,属性和文本

​ d.根据安全的白名单清理用户提交的内容,以防止XSS攻击

​ e.输出整洁的HTML

2.爬虫中使用到的Jsoup方法

a.从URL加载文档,使用Jsoup.connect()方法从URL加载HTML。

b.从HTML获取标题调用 , 使用document.title()方法获取HTML页面的标题。

c.从HTML获取内容调用 , 使用document.body()方法获取HTML页面的主体内容。

d.从HTML选择标签 , 使用document.select()方法获取HTML标签下的内容。

四.JAVA异常

异常Throwable 分为

  1. Error

  2. Exception分为

    a.CheckedException

Java中Checked异常都是可以被处理的异常,Java程序必须显示处理Checked异常。

当前方法知道如何处理该异常,则用try...catch块来处理该异常。

try {
  //  要尝试的代码块
}
catch(Exception e) {
  //  处理错误的代码块
}

当前方法不知道如何处理,则在定义该方法是声明抛出该异常。

public static void main(String[] args) throws Exception {
}

b.RuntimeException

五.正则表达式

字符类 解释
[abc] a或b或c
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[^abc] 任何字符,除了 a、b 或 c
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[ ^bc]] a 到 z,除了 b 和 c:[ad-z]
[a-z&&[ ^m-p]] a 到 z,而非 m 到 p:[a-lq-z]
预定义类 解释
. 任何字符
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
\ 改变其后字符含义
数量词 解释
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次

已在IDEA中引入any-rule,以便查阅各类要求的正则表达式.

六.产品介绍

1.小说爬虫Spider被打成了jar包

2.使用md格式保存了小说 , 小说的小说名,作者名,章节标题被设置成了不同等级的标题

3.添加了目录,并且赋予了每一章节的目录以超链接,使之可以调转回原网页

4.使用正则表达式及matches方法对比用户可能输入的内容(如URL) , 判断是否合法 , 采用了if结构完善了输出,对用户进行了较清晰的提示.

DingYi
DingYi
© 2025 软件园学生在线
Theme by Wing