java网络爬虫 -2024/12/20
借用maven项目,引入jsuop爬虫坐标
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.2</version>
</dependency>
爬取网络小说代码
package com.stdu;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class NovelJsoup {
public static void booktest() throws IOException, InterruptedException {
// 选择要下载小说的地址
String url = "https://www.bg90.cc/book/188352/";
// 获取首页的html内容
Connection connect = Jsoup.connect(url);
// 这里的header里的参数是为了伪装成浏览器,对于某些有防爬虫的网站必须伪装成浏览器才能进行爬取,这里的参数可以当做常量来使用
Document document = connect.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36").get();
// 书名
String FileName = document.select("h1").first().text().replaceAll(" 夜无疆 ", "");
Elements dd = document.select("dd a");
for (Element element : dd) {
// 获取每章的超链接
String url_block = "https://www.bg90.cc" + element.attr("href");
// 章节名
String text = element.text().replaceAll("\\?", "");
System.out.println(text);
// 获取每章html内容
Document document1 = Jsoup.connect(url_block).get();
// 获取每章文本内容,去除正文中 :全本小说网 www.qb5.ch,
String content = document1.getElementById("chaptercontent").text().replaceAll(" 请收藏本站:https://www.bg90.cc。笔趣阁手机版:https://m.bg90.cc ", "").replaceAll(" ", "\n").replaceAll("。", "。\n");
content = content.replaceAll("『点此报错』『加入书签』", "");
// 创建文件夹
System.out.println(FileName);
System.out.println(content);
File folder = new File(FileName);
// 判断是否存在这个文件夹,没有就创建
if (!folder.exists()) folder.mkdirs();
// 完整文件路径
File file = new File(folder, text + ".txt");
// 创建一个File对象,表示要写入的txt文件
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(content);
writer.flush();
writer.close();
// 做个好人等5秒弄一次
Thread.sleep(3000);
}
}
public static void main(String[] args) throws IOException, InterruptedException {
booktest();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!