用java从网上爬取大部头小说

java爬虫之下载txt小说 最近迷上了天蚕土豆写的《大主宰》这本玄幻小说,无奈找不到下载链接。于是就萌生了自己爬取小说章节的想法,代码其实很简单,主要在于分析网页结构、正则匹配以及文件保存. 1. 分析网页结构爬取小说主要需要爬取章节、正文,以及能保证爬取到所有的章节。以《大主宰》为例,其网页结构如下:可以看到小说正文包含在一个id为content的div里,这极大的帮助了我们的爬取.章节名称保存在一个名为readtitle 阅读详情


用java从网上爬取大部头小说

   

        最近,我从网上看到零点看书(www.00ksw.com)网站分章连载了网络作家写的《大主宰》这部玄幻小说。截至目前,这部小说的最新章节已写到第一千三百三十三章 太灵通天光。访问http://www.00ksw.com/html/1/1343/597361.html,首页就能看到“零点看书 > 玄幻小说 >大主宰 > 正文 第一章 北灵院”的内容。想继续看下一章,可以在“章节列表”里点“下一章”。
        但在网上看书,总不如离网来得方便。有没有办法把这部小说的内容下载到电脑呢?答案是肯定的,有。
        今天,我从百度里搜索到一篇名为《java爬虫之下载小说》的网文。这篇网文的作者是:qq_25237663,链接地是:http://www.th7.cn/Program/java/201607/890479.shtml。这篇网文提供了用java从网上爬取这篇小说的源代码。感谢作者,通过访问http://lixiaolin.me/2016/06/30/java-getnovel/,我成功下载了这个源代码。
        这个源代码有以下几个特点。
        一是这个源代码编写得很简单,主要在于分析网页结构、正则匹配以及文件保存。
        二是爬取小说主要需要爬取章节、正文,以及能保证爬取到所有的章节。作者以《大主宰》为例,通过分析其网页结构,可以看到小说正文包含在一个id为content的div里,这极大的帮助了我们的爬取.章节名称保存在一个名为readtitle的js变量中.下一页的url位于a标签的href属性中。
        三是通过分析网页结构,提供了如下正则表达式:
        * 章节名: readtitle = "(.+?)"
        * 正文: <div id="content">(.+?)</div>
        * 下一章:&rarr; <a href="(.+?)">
        如果当前章节是最新章节,那么其下一章的url是以 / 开头的,我们可以根据这个判断章节是否是最新章节。
        根据这个源代码,通过java,我将源代码制作成java格式的文件。
        首先,要做好制作前的准备。

        一是要在F盘新建一个文件夹,并将文件夹命名为pachong。

        二是要将源代码第一行的package com.lxl.txt;删除,或变为注释//。

        三是要在mypachong文件夹里新建一个文本文档,将源代码复制粘贴到新建文本文档里,并将其另存为java格式的文件,将其命名为NovelGet.java。

        四是要在D盘里另建一个文本文档,将其命名为test.txt,用来存放下载的小说各章节内容。
        在此基础上,通过输入cmd命令,我成功地将java格式的文件制作成jar格式的软件。
        打开“开始”/“运行”,输入cmd,点“确定”,弹出cmd界面。
        在cmd界面里显示:
        Microsoft Windows [版本 6.1.7601]
        版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
        输入:
        C:\Users\Administrator>f:
        F:\>cd pachong
        F:\pachong>javac NovelGet.java
        F:\pachong>jar -cvf NovelGet.jar NovelGet.class
        已添加清单
        正在添加: NovelGet.class(输入 = 2881) (输出 = 1637)(压缩了 43%)
        F:\pachong>
        这时,在f:\pachong文件夹里右键点击NovelGet.jar,在弹出的右键菜单里点用WinRAR打开,点击,在弹出的输入MAIN-CLASS: NovelGet 敲两次空格键, 敲两次回车。然后点保存,点是,再点文件,点副本。
        至此,NovelGet.jar的制作完成,下一步就可以检测到NovelGet.jar的运行结果了。
        返回cmd,在f:\pachong>的后面输入jara NovelGet,回车后,cmd界面弹出“开始爬取数据”的提示:经过一段时间的爬取,程序运行结束。
        F:\mypachong>java NovelGet
        开始爬取数据...
        用时 489秒...
        经过一段时间的爬取(爬取时间的长短与网速的快慢有关),程序运行结束。
        F:\mypachong>pause
        请按任意键继续. . .
        此时打开f:\test.txt,发现文本的大小已由0变为7.71BM。截至2016年10月14号,《大主宰》这篇玄幻小说的最新章节为第一千三百三十三章 太灵通天光,小说从第1章到第1333章的内容已全部爬取出来,并集中保存在f:\test.txt文件里。

Java简易小说阅读器 小说阅读器` 提前准备好一个文件夹Reabooooook Readbooooook下Bookcase (书架) Bookmall(书城) register(注册) 文件 Bookcase下 各个分类文件 分类文件里menu.txt 以及两本书的内容 Bookmall同上 register下register.txt package System;import java.io.File; i... 阅读详情

相关推荐

JAVA电子书下载网址大全

JAVA电子书下载网址大全,好几十个Java相关网址!

Java实现智能化下载小说

自动解析网页结构

ak01_10的博客 461

最全java.txt

最全java教程基础进阶高级详细项目实战,从基础到中级到高级全套教程

java基于springboot小说下载网站管理系统源码

小说下载网站是基于java编程语言,mysql数据库,springboot框架制作而成,本系统分为读者,作者,管理员三个角色,其中读者注册登陆后,查看小说介绍,在线购买小说,下订单,充值,付费,下载小说;管理员可以对读者,作者,小说分类,小说信息,订单等信息进行管理;7.购买小说管理查看用户购买小说支付状态,添加,修改,删除购买信息。3.读者管理对读者的信息进行添加,修改,删除,查询。4.作者管理对作者的信息进行添加,修改,删除,查询。5.小说管理对小说进行添加,修改,删除,查询。...

QQ58850198的博客 1056

Java下载txt文件

Java实现把字符串下载为txt文件的工具类。

PCB设计必看:铜皮厚度与载流能力对照表(附Excel计算工具)

本文深入解析了PCB设计中铜皮厚度与载流能力的核心关系,提供了基于IPC-2152标准的动态计算逻辑与实用Excel工具。文章不仅分享了载流对照表,更重点剖析了影响载流能力的关键因素(如铜厚、线宽、温升、布线层),并给出了高电流设计的实战技巧与测试验证方法,帮助工程师规避常见陷阱,实现从理论到实践的闭环设计。

weixin_29228781的博客 721

【Python爬虫】爬取网络小说(转)

原文跳转:https://blog.youkuaiyun.com/Uupton/article/details/80566285 要爬取的网站是:http://www.quanshuwang.com/book/44/44683 import re import urllib.request #定义一个爬取网络小说的函数 def getNovelContent(): html = urllib.re...

Bily_on的博客 1387

鼎阳示波器SCPI指令与MD5算法解锁带宽升级实战

本文详细介绍了鼎阳示波器通过SCPI指令与MD5算法实现带宽升级的实战流程。从设备连接、信息获取到Python密钥生成脚本解析,逐步指导用户完成升级操作,并涵盖常见问题排查与功能选件激活指南,帮助用户充分释放设备潜能。

www00的博客 342

基于java(ssm)小说下载网站管理系统设计与实现(源码+lw+部署文档+讲解等)

基于Java(SSM)小说下载网站管理系统致力于打造一个用户友好、功能丰富的在线小说平台。用户可以通过注册登录系统,浏览小说信息,购买下载小说,实现个性化的小说阅读体验。管理员则能够对读者、作者、小说等信息进行全面的管理。

2401_82770201的博客 1101

安时积分法和开路电压法结合估算锂电池SOC

基于安时积分法和开路电压法结合的锂电池SOC估计Simulink仿真建模,利用安时积分法计算放电过程中的SOC,在搁置状态利用开路电压法进行SOC修正。

qq_39304296的博客 2552

新手也能玩转!用Panosim+MATLAB/Simulink搭建你的第一个智能驾驶仿真场景(保姆级图文)

本文为新手提供了使用Panosim和MATLAB/Simulink搭建智能驾驶仿真场景的详细教程。从环境准备、基础场景创建到仿真模型构建,一步步指导用户完成第一个智能驾驶仿真项目,帮助零基础用户快速上手并体验智能驾驶仿真的乐趣。

weixin_29090089的博客 179

requests运用----爬取大主宰小说

这是小说网址http://www.biququ.info/html/3486/43571.html 检查元素–抓取文本内容在Elements的具体位置 可以看到都是在 == $0下,那就意味着我们只要抓取该标签下所有的p标签中的文本就行 etree.HTML():构造了一个XPath解析对象并对HTML文本进行自动修正。 etree.tostring():输出修正后的结果,类型是bytes 我...

wysw1998的博客 812

PADS VX2.4差分对设置避坑指南:常见错误与解决方案

本文深度解析了在PADS VX2.4中进行高速PCB设计时,差分对设置的核心要点与常见陷阱。针对Layout规则设置、Router布线实战中的阻抗控制、线长匹配等关键环节,提供了具体的避坑指南和解决方案,帮助工程师确保信号完整性,提升设计质量。

weixin_29216049的博客 359

JAVA使用jsoup爬取小说

随着大数据产业的发展,越来越多的数据需要被采集与挖掘,对于非相关专业的人来说数据采集最多的途径就是下载,但是仍然有一些数据是隐藏在网页中的,只能观看不能下载,这时有人说可以通过复制粘贴的方法进行保存,其实这也是一个方法,但是在庞大的数据量面前,如果单靠手动是及其消耗时间的,所以通过程序来将数据提取出来就可以达到节省时间的目的,从而提高了效率。本文以小说为例,运用JAVA爬虫技术,将小说下载到本地磁盘中。本文基于JAVA讲述,运用工具为idea,如果没有idea的小伙伴可以先去其他文章学习一下如何下载安装。

qq_54673740的博客 1291

IDEA中Maven工具栏与命令执行全攻略:高效开发必备技巧

IntelliJ IDEA 作为强大的 Java 开发工具,其 Maven 功能独具优势。Maven 工具栏位于工作区右侧,图标功能丰富,涵盖项目导入、源码处理、依赖操作等。执行 Maven 命令有多种途径,Run Anything 窗口可输入或选目标执行,上下文菜单能右键运行目标,还可创建运行配置,指定命令参数后运行,为开发者高效管理 Maven 项目、便捷执行命令提供有力支持。

2301_82300081的博客 2029

OpenClaw Browser Relay Extension 鉴权失败与 invalid handshake 问题的终极解决方案

在使用 OpenClaw 浏览器插件 (Browser Relay Extension) 时,许多用户可能会遇到两个主要问题:一是配置端口错误导致的连接失败,二是鉴权失败 (Gateway token rejected)。本文将详细解析这两个问题并提供解决方案。

gerryke的blog 5556

python3多进程+协程异步爬取小说爬虫

前言 之前写了一篇关于用多线程爬小说的博客,但是发现爬取16M的小说需要十几分钟,所以今天更新了一篇用多进程外加使用单线程异步的协程同样爬取之前用多线程爬取的同一篇小说,并进行两者效率的对比 本篇测试爬取的小说为《大主宰》1551章 约16M大小 步骤 全局数据列表 urls = [] #储存各章节的URL htmls = []#储存各章节页面HTML titles = []#储存各章节名字 pr...

weixin_43853097的博客 2285

PLSQL Developer安装详细步骤

一、下载安装PLSQL Developer(plsql安装百度也有步骤) 官网下载地址:https://www.allroundautomations.com/registered-plsqldev/ 1、网上自己下载适合自己电脑的安装包(32或64),并解压。 2、打开解压的文件夹,得到以下三个文件(分别是汉化工具,PLSQL安装包、激活码),双击安装,如下图: 3、安装界面,点击next,进入下一步,如图: 4、安装协议界面,此处必须选择“I accept the terms in

Gorden的博客 11万+

java实现自动下载免费小说

在百度上看到别人要下一些小说,就想自己写个下小说的玩玩。 以下为自己玩玩的,不必当真。 package edu.uci.ics.crawler4j.test; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.Outp

wangzhi291的专栏 2170

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java爬虫批量下载小说Demo(好讀网小说爬取)

“有些人认为,人应该充满境界高尚的思想,去掉格调低下的思想。这种说法听上去美妙,却使我感到莫大的恐慌。因为高尚的思想和低下的思想的总和就是我自己。” ---王小波

山河已无恙 1754

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java 免费下载[起点网] 的小说

package com.web.tool; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import java.util.List; impo...

开心的穷下去 438

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

java实现的PC小说下载器+阅读器

因为前段时间做了个安卓的小说下载器,不过是jsoup匹配的,我后面也想了一下正则实现通用的匹配模式,一个网站一套规则感觉比较繁琐,不好维护。 实现方式我钱前面也说过了,所以吧,开始动手弄个界面出来,正则嘛,匹配注定不会很完善,所以需要过滤。 主要思路是通过章节目录来下载一本小说。章节目录解析下来每一章的正文目录链接,再通过正文链接来抓取源码来匹配正文内容。 下面是实现的效果图 主页面 阅读页面 ...

Uncle 1392

基于java在线小说电子书阅读系统设计与实现

【用户功能模块】(1)登录功能:注册普通账号登录;登录后可以修改用户的基本信息,也可以退出。(2)浏览资讯:浏览网站管理发布的资讯,可以评论,评论后需要管理员审核和查看。(3)关于我们:浏览网站关于我们的信息,涉及关于我们、联系我们、加入我们、法律声明等。(4)书籍列表:默认显示平台所有电子书列表,可以点击左侧数据分类进行筛选显示。(5)书籍介绍:从书籍列表点击进入书籍介绍页面,主要涉及书籍名称、浏览数据、价格、购买操作、书籍的介绍、电子书目录。

杭州.黄老师 3509

天秀!搞java的技术人写了本小说:《JavaScript百炼成仙》

前言秀第一场,叶小凡赢得非常漂亮。这难免遭到了场外一些大弟子的嫉妒。“哼,不过才赢了第一场,有什么好神气的。”“就是,就是啊。不管怎么说,运算符毕竟还是属于比较基础的功夫。我看哪,这个叶小...

独行侠梦的博客 1万+

推荐一个开源 Java 小说网站项目

点击关注公众号,回复“1024”获取2TB学习资源!今天推荐一个支持多端阅读、功能完善的小说内容管理系统,由前台门户系统、作家后台管理系统、平台后台管理系统、爬虫管理系统等多个子系统构成。...

民工哥的博客 6604

小说格式怎么转换java_将第一人称小说转换为第三人称小说的小段java代码

该楼层疑似违规已被系统折叠隐藏此楼查看此楼import java.io.FileInputStream;import java.io.InputStreamReader;import java.io.PrintWriter;public class MyReplace {public static void main(String[] args) throws Exception {InputS...

weixin_35783593的博客 503
上一篇: 用注册表方法恢复VB6.0中的Internet(地球仪)部件
下一篇: 文本中多余字符串的批量删除和替换
myhrrjava
博客等级 码龄10年 7粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值