使用java爬取小说牧神记

本文介绍如何使用Java编程语言构建一个网络爬虫,详细阐述了从网页抓取小说《牧神记》的相关内容,包括解析HTML、处理反爬策略和数据存储等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public static void main(String[] args) {
		Long startTime, endTime;
        System.out.println("小爬虫开始了。。。。。。。。。。。");
        startTime = new Date().getTime();
        Document document;

        try {
            document = Jsoup.connect("https://www.xsjtxt.com/book/84448/").get();
            //document = Jsoup.connect("http://book.qidian.com/info/1006693964#Catalog").get();
           System.out.println("document:"+document);
           //自定一个对象,为存储到服务器中做准备
           Reptile reptile = new Reptile();
            String fictionName = document.select("h1").text();
            System.out.println("小说书名:"+fictionName);
            reptile.setFictionName(fictionName);
            //获取页面 div里面的pc_list父属性下的子属性(ul列表下的li列表下的a标签)
            Elements results = document.select("div.pc_list>ul>li>a");
            System.out.println("results:"+results);
            for (Element e : results) {
            	//获取章节名
            	String fictionChapter = e.text();
                System.err.println("小说章节名:"+fictionChapter);
            	String fictionUrl = e.attr("abs:href");
            	System.err.println("章节路径的绝对路径:"+fictionUrl);
            	//解析章节路径的地址
            	document = Jsoup.connect(fictionUrl).get();
            	//获取章节路径地址里面的章节内容
            	String text=document.select("#content1").text();
            	System.out.println("章节的内容:"+text);
            	//将获取的先说章节名、章节地址、章节内容封装成一个对象然后进行存储
            	reptile.setFictionUrl(fictionUrl);
                reptile.setFictionChapter(fictionChapter);
                reptile.setText(text);
                // reptileService.SaveAttribute(reptile);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        endTime = new Date().getTime();
        System.out.println("小爬虫结束了,用时" + (endTime - startTime) + "ms");
}
<!-- 爬取数据需要的依赖 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.58</version>
		</dependency>
		<dependency>
			<groupId>dom4j</groupId>
			<artifactId>dom4j</artifactId>
			<version>1.6</version>
		</dependency>
		<dependency>
			<groupId>org.jsoup</groupId>
			<artifactId>jsoup</artifactId>
			<version>1.9.2</version>
		</dependency>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值