如下图可以看到爬取的小说数量。
随便打开一个:
可以看到,小说内容已经爬取完毕了。
本文的JAVA网络爬虫主要运用的Jsoup,通过Jsoup的Connect方法构造url与Document的桥梁。通过伪装浏览器,躲过网站蓄意攻击检测,达到爬虫的目的。
今天突然想写一个网络爬虫爬取一下我自己正在看的小说《圣墟》
小说网址:http://www.biqudu.com/43_43821/
大家也可以用这个去试一试爬取另外的小说。(主要就是写正则表达式,找规律)
我的思路:
1.找到小说章节目录的网址
2.在章节目录的网址中爬取每一章的网址
3.通过每一章的网页爬取每一章节的内容
下面是代码:
package cn.hncu.net.s
1.爬取小说章节内容,需要注意的大部分原创小说内容页是禁用右键的,无法直接选取页面内容进行元素检查,需要按F12,从上往下逐步选取元素。
2.利用IO流,将爬取的内容保存到本地文本文件。
本练习循序渐进,Demo1、首先爬取某一章节小说内容,Demo2、爬取完整一本小说内容,Demo3、爬取首页推荐榜中所有作品内容。
在项目中添加HttpClient、Jsoup依赖,参加本系列上两章。
Demo1:爬取某一章节小说内容
public static void main(String[] args) throw
昨天小编看到了一部不错的小说,但是没有办法下载,只能一页一页地看,于是想到了爬虫,现在Java也有了爬虫的框架,很简单,就算小白也能轻易入门,话不多说,直接上手。
1.首先引入相关依赖
不会maven的话可以按照右边直接去maven库下载添加jar包,注意不要少包,否则会报找不到类
依赖示例代码:
<dependencies>
<dependency>
<groupId>us.codecraft</g..
对于使用Java爬虫进行多页爬取,可以使用以下方法:
1. 首先,需要实现PageProcessor接口,并设置爬虫的相关配置,如字符集、重试次数和睡眠时间。例如,可以使用以下代码设置配置:
```java
private Site site = Site.me()
.setCharset("UTF-8")
.setRetryTimes(3)
.setSleepTime(100);
2. 在process方法中编写抽取逻辑,定义爬取页面的规则。例如,可以使用正则表达式来提取页面中的标题。以下是一个示例代码:
```java
public void process(Page page) {
List<String> titles = page.getHtml()
.css("li > div > div.details > span.link.h-cite.u-repost-of > a")
.regex(">(.*?)<\\/a>", 1)
.all();
// 将标题存入父类的私有属性中
setTitles(titles);
3. 使用Spider类来执行爬虫。通过Spider.create方法创建一个Spider对象,并设置要爬取的起始URL。使用.thread方法设置线程数,然后使用.run方法启动爬虫。以下是示例代码:
```java
Spider.create(obj)
.addUrl(url)
.thread(4) // 开启4个线程抓取
.run();
需要注意的是,爬取多页时,可以在addUrl方法中传入多个URL,或者使用for循环动态生成URL进行爬取。
综上所述,以上是使用Java爬虫进行多页爬取的基本方法。根据具体需求,还可以考虑使用其他技术和工具来实现更复杂的爬取任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Java-网页爬虫](https://blog.csdn.net/JohnSmith232/article/details/120193710)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [手把手教你运用JAVA爬虫技术爬取小说](https://blog.csdn.net/hawzhangy/article/details/118050564)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [Java 爬虫简单实现多线程爬取视频](https://blog.csdn.net/weixin_44352679/article/details/102476067)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]