非凡首页|软件资讯|最新更新|下载排行|软件分类|软件专题
您当前位置: 下载首页教育教学电子阅读三木猿阅读(电脑小说漫画阅读器)

三木猿阅读(电脑小说漫画阅读器) v1.0 电子阅读

  • 软件等级:5 stars.
  • 软件大小:36.8MB
  • 支持语言:简体中文
  • 授权方式:免费版
  • 软件分类:教育教学/电子阅读
  • 官网链接:
  • 更新时间:2020-09-10 14:56:01
  • 运行环境:WinXp,Win2003,WinVista,Win 7,Win 8,Win 10,x64
  • 厂商:
关 键 字: 小说阅读器
软件介绍 软件截图 软件专题 软件问答 相关文章 相关软件 下载地址

三木猿阅读专为喜欢看小说的电脑端用户制作,提供海量丰富的小说和漫画资源,数据资源来源于网络,用户能够在这里搜索资源并进行在线阅读,还提供离线下载的功能,用户无需注册会员即可免费看到小说的全部章节内容,支持添加书签和自定义设置阅读页面。

软件功能

在线小说资源阅读

离线下载功能

搜索框

多数据源筛选

软件使用

解压后打开exe文件,到浏览器输入http://localhost/,即可开始阅读,数据源有两个biquge和biquge5200,页面借用了起点。

部分代码

package com.aaa.data;

import com.aaa.config.SSLHelper;

import com.aaa.dto.BookCatalogueDto;

import com.aaa.entity.BookCatalogue;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.nodes.Element;

import org.jsoup.nodes.Node;

import org.jsoup.select.Elements;

import java.io.IOException;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.concurrent.*;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

import static com.aaa.util.DataProcessing.splitList;

/**

* [url=home.php?mod=space&uid=686208]@AuThor[/url] 杨森

* [url=home.php?mod=space&uid=1248337]@version[/url] 1.0

* @Title: BookCatalogue

* [url=home.php?mod=space&uid=686237]@date[/url] 2020/8/7 15:39

*/

public class BookCatalogueDB {

private static ExecutorService executorService;

public static ListsetDataSource(String dataSource, String bookCod,ExecutorService executorService) {

BookCatalogueDB.executorService =executorService;

SSLHelper.init();

if ("biquge5200".equals(dataSource)) {

return biquge5200(bookCod);

} else if ("biquge".equals(dataSource)) {

return biquge(bookCod);

}

return null;

}

private static Listbiquge5200(String bookCod) {

try {

Map<Integer,List> bookCatalogueDtoMaps = new HashMap<>(3);

Pattern pattern = Pattern.compile("]>([\s\S]*?)(?=)");

Document document = Jsoup.connect("https://www.biquge5200.com/" + bookCod + "/").get();

Elements dd = document.getElementsByTag("dd");

Map<Integer, List> integerListMap = splitList(dd, 3);

CountDownLatch latch=new CountDownLatch(3);

for (int i = 0; i < 3; i++) {

final int ins=i;

executorService.execute(() -> {

bookCatalogueDtoMaps.put(ins,get(integerListMap.get(ins), bookCod, document, pattern));

latch.countDown();

});

}

latch.await();

ListbookCatalogueDtos=new ArrayList<>(dd.size());

for (int i = 0; i < 3; i++) {

bookCatalogueDtos.addAll(bookCatalogueDtoMaps.get(i));

}

return bookCatalogueDtos;

} catch (IOException e) {

e.printStackTrace();

} catch (InterruptedException e) {

e.printStackTrace();

}finally {

executorService.shutdown();

}

return null;

}

public static Listget(Listdd, String bookCod, Document document, Pattern pattern) {

ListbookCatalogueDtos = new ArrayList<>(dd.size());

Element imgurl = document.getElementById("fmimg");

Element intro = document.getElementById("intro");

Element info = document.getElementById("info");

Element child = info.child(1);

String h1 = info.select("h1").text();

for (int i = 0; i < dd.size(); i++) {

Element element = dd.get(i);

BookCatalogueDto bookCatalogueDto = new BookCatalogueDto();

BookCatalogue bookCatalogue = new BookCatalogue();

Node node = element.childNode(0);

for (Node e : element.childNodes()) {

if (!"".equals(e.toString())) {

node = e;

}

}

bookCatalogueDto.setCatalogueName(node.childNode(0).toString());

String s1 = node.toString();

Matcher matcher = pattern.matcher(s1);

if (matcher.find()) {

String nameCodeUrl = matcher.group(1);

String insStr = nameCodeUrl.substring(nameCodeUrl.lastIndexOf("/") + 1, nameCodeUrl.lastIndexOf("."));

bookCatalogueDto.setCatalogueCod(Integer.parseInt(insStr));

}

bookCatalogueDto.setBookName(h1);

bookCatalogueDto.setBookIntro(intro.text());

for(Node n :imgurl.childNodes()){

if(n.toString().matches("(.*)img(.*)")){

bookCatalogueDto.setBookImage(imgurl.childNode(0).toString());

}

}

bookCatalogueDto.setBookCod(bookCod);

bookCatalogueDto.setBookAuthor(child.text().replace("作 者:",""));

bookCatalogueDtos.add(bookCatalogueDto);

if (i + 1 < dd.size()) {

Node node1 = dd.get(i + 1).childNode(0);

Matcher matcher1 = pattern.matcher(node1.toString());

if (matcher1.find()) {

String nameCodeUrl = matcher.group(1);

String insStr = nameCodeUrl.substring(nameCodeUrl.lastIndexOf("/") + 1, nameCodeUrl.lastIndexOf("."));

bookCatalogue.setNextCode(Integer.parseInt(insStr));

}

}

}

return bookCatalogueDtos;

}

private static Listbiquge(String bookCod) {

try {

Pattern pattern = Pattern.compile("]>([\s\S]*?)(?=)");

Document document = Jsoup.connect("https://www.biquge.com/" + bookCod + "/").get();

Map<Integer,List> bookCatalogueDtoMaps = new HashMap<>(3);

Elements dd = document.getElementsByTag("dd");

Map<Integer, List> integerListMap = splitList(dd, 3);

CountDownLatch latch=new CountDownLatch(3);

for (int i = 0; i<3; i++) {

final int ins=i;

executorService.execute(()->{

bookCatalogueDtoMaps.put(ins,get(integerListMap.get(ins), bookCod, document, pattern)) ;

latch.countDown();

});

}

latch.await();

ListbookCatalogueDtos=new ArrayList<>(dd.size());

for (int i = 0; i < 3; i++) {

bookCatalogueDtos.addAll(bookCatalogueDtoMaps.get(i));

}

return bookCatalogueDtos;

} catch (Exception e) {

e.printStackTrace();

}finally {

executorService.shutdown();

}

return null;

}

}

以上就是三木猿阅读(电脑小说漫画阅读器)的全部内容了,快快收藏非凡软件站下载更多软件和游戏吧!

显示全部

软件截图

查看安装过程

小说阅读器

小说阅读器 看小说不仅可以帮助我们打发无聊的时间,更有用的是可以提高我们的文采及扩展我们的知识范围,那么小说阅读器有这么多到底哪个更好呢?下面小编为大家挑选一些比较好用的小说阅读器。 小说阅读器相关专题:免费小说阅读器 本站还提供小说阅读器手机端,需要的用户请查看:手机小说阅读器专题。

软件资讯

更多>
  • IQOO7拍照怎么样

    IQOO7拍照怎么样

    IQOO7一经发布就受到了许多用户的喜爱,手机的拍照方面一直属于弱项,但是IQOO7采用骁龙888芯片,大大地提升了提升了手机的拍照性能,那么IQOO7拍照到底怎么样呢?快来跟着小编一起看看吧。IQOO7拍照评测iQOO 7 延续了主摄、超广角、2X 人像镜头方案,与上一代不同的是,iQOO 7 取消了上一代的超大底主摄方案,取而代之的是与 Sony 联合定制的 IMX598 传感器(X60 同款

  • 三星Galaxy S21系列不带充电器和耳机吗

    三星Galaxy S21系列不带充电器和耳机吗

    三星 Galaxy S21 系列以于最近发布了,但是很多用户发现在包装盒里并没有附带充电器和耳机,那么这一系列真的不送耳机和充电器吗,别着急下面我们一起了解一下吧。苹果对移除充电器的解释是,这样更具环保意识和可持续性。三星的解释略有不同,其对此事的声明全文如下:我们发现,越来越多的 Galaxy 用户正在重复使用他们已经拥有的配件,并在日常生活中做出可持续的选择,以促进更好的回收习惯。为了支持我

  • HTC Desire 21 Pro怎么样

    HTC Desire 21 Pro怎么样

    HTC于今日正式推出了新一代旗舰机型 HTC Desire 21 Pro,也是 Desire 系列首款 5G 手机,对于这款手机的推出也是引来了很多用户的关注,那么这款手机值得大家入手吗,性能怎么样呢,别着急接下来就随着非凡小编一起看看吧!该机搭载骁龙 690 芯片,采用 6.7 英寸居中打孔屏,拥有 FHD + 分辨率和 90Hz 刷新率,支持 HDR 10,配备 8GB 运存和 128GB

  • execl如何快速输入水的化学公式

    execl如何快速输入水的化学公式

    许多小伙伴们还不清楚execl如何快速输入水的化学公式,小编今天整理出了详细的内容帮助大家了解,其中还包括execl上下标快捷键的用法,快来跟着小编一起看看吧。1、选中字符,按住ctrl+=,就设置好下标了 2、设置上标,选中字符,按住ctrl+shift+= 3、同时设置上下标,选中字符--选择段落里的 中文版式---选择双行合一---在字符中间打一个空格----确定 好了,今

  • 如何使用PPT绘制树叶结构名称图解

    如何使用PPT绘制树叶结构名称图解

    PPT是大家常用的一款软件,那么我们如何使用如何使用PPT绘制树叶结构名称图解呢,别着急下面跟着小编一起看看吧。1、新建一个空白PPT——点击插入——图片——选择树叶和树叶的剖面图片插入到PPT中。2、点击插入——形状——选择直线单箭头——插入到树叶的相关部位那里。3、点击插入——形状——在基本形状中选择文本框——把文本框放置到箭头那里并输入叶片部位名称。4、点击插入——形状——选择右大括号——在

  • 如何使用PS来完成古风像素插画

    如何使用PS来完成古风像素插画

    PS是大家常用的一款图片编辑工具,它的功能非常多,那么我们如何使用它来做出十字绣效果风景图插画呢,别着急下面跟着小编一起看看吧。1、根据找好的参考绘制线稿,房子和花树是主体,辅助可以画些湖和石头。2、画笔选择铅笔工具,可以绘制出锯齿状。画笔选择ps自带硬边圆笔刷。3、区分明暗面。选取比固有额更深的颜色绘制暗面,(树的暗面可以根据形状绘制),屋顶对墙面的投影可以选择正片叠底模式。4、绘制亮面。根据光

注意事项

本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任,所有资源请在下载后24小时内删除。
如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除,联系QQ:799596243 (版权说明注意事项)。若有关在线投稿、无法下载等问题,请与本站客服人员联系QQ:799596243 、QQ:799596243 !
用户可自行按线路选择相应的下载点,可以直接点击下载/另存为,若直接点击下载速度太慢,请尝试使用高速下载器。为确保下载的文件能正常使用,请使用WinRAR最新版本解压本站软件。
建议大家谨慎对待所下载的文件,大家在安装的时候务必留意每一步!关于360安全卫士QQ电脑管家的有关提示,请自行注意选择操作。