猜您喜欢:
三木猿阅读专为喜欢看小说的电脑端用户制作,提供海量丰富的小说和漫画资源,数据资源来源于网络,用户能够在这里搜索资源并进行在线阅读,还提供离线下载的功能,用户无需注册会员即可免费看到小说的全部章节内容,支持添加书签和自定义设置阅读页面。
在线小说资源阅读
离线下载功能
搜索框
多数据源筛选
解压后打开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 List
BookCatalogueDB.executorService =executorService;
SSLHelper.init();
if ("biquge5200".equals(dataSource)) {
return biquge5200(bookCod);
} else if ("biquge".equals(dataSource)) {
return biquge(bookCod);
}
return null;
}
private static List
try {
Map<Integer,List
Pattern pattern = Pattern.compile("]>([⁄⁄s⁄⁄S]*?)(?=)");
Document document = Jsoup.connect("https://www.biquge5200.com/" + bookCod + "/").get();
Elements dd = document.getElementsByTag("dd");
Map<Integer, List
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();
List
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 List
List
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 List
try {
Pattern pattern = Pattern.compile("]>([⁄⁄s⁄⁄S]*?)(?=)");
Document document = Jsoup.connect("https://www.biquge.com/" + bookCod + "/").get();
Map<Integer,List
Elements dd = document.getElementsByTag("dd");
Map<Integer, List
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();
List
for (int i = 0; i < 3; i++) {
bookCatalogueDtos.addAll(bookCatalogueDtoMaps.get(i));
}
return bookCatalogueDtos;
} catch (Exception e) {
e.printStackTrace();
}finally {
executorService.shutdown();
}
return null;
}
}
以上就是三木猿阅读(电脑小说漫画阅读器)的全部内容了,快快收藏非凡软件站下载更多软件和游戏吧!
小说阅读器 看小说不仅可以帮助我们打发无聊的时间,更有用的是可以提高我们的文采及扩展我们的知识范围,那么小说阅读器有这么多到底哪个更好呢?下面小编为大家挑选一些比较好用的小说阅读器。 小说阅读器相关专题:免费小说阅读器 本站还提供小说阅读器手机端,需要的用户请查看:手机小说阅读器专题。
三木猿阅读(电脑小说漫画阅读器)v1.7 三木猿阅读专为喜欢看小说的电脑端用户制作,提供海量丰富的小说...详情>>
卡拉OK读书之道教典籍v6.10 道教典籍是道教文化典籍,正统道藏洞神部本文类。正统道藏洞神部...详情>>
轻松关闭真我realmegt6屏幕上蓝色图标,还你清爽界面真我realmegt6以其出色的性能和独特的设计备受用户喜爱。然而,有些用户可能会被屏幕上偶尔出现的蓝色图标困扰。别担心,今天就来教大家如何轻松关闭这些蓝色图标,让你的手机屏幕恢复清爽。蓝色图标出现的可
在昆山生活,社保查询是许多人关心的事情。智慧昆山为大家提供了便捷的社保查询方式,下面就来详细介绍一下。首先,打开智慧昆山app。如果你还没有下载,可以在手机应用商店中搜索“智慧昆山”进行下载安装。安装完成后,打开app。进入app后,在首页找到“社保查询”选项
在iphone15推出后,不少用户会思考是否要将其降级到ios17.3.1,这是一个值得深入探讨的问题。首先,让我们来看看iphone15自身的系统优势。新的ios系统往往会针对新设备进行优化,以充分发挥硬件性能。iphone15搭载的最新系统可能在运行速度、
一起作业老师版app是一款功能强大的教学辅助工具,能帮助老师轻松管理班级作业、了解学生学习情况。以下是详细的使用教程。一、下载与安装在手机应用商店中搜索“一起作业老师版”,找到对应的应用程序,点击下载并安装到手机上。安装完成后,打开应用。二、注册与登录打开ap
在使用office办公软件时,不少用户都遇到过每次打开都要重新配置的困扰。这不仅浪费时间,还影响工作效率。别担心,下面为您详细介绍常见原因及解决方法。一、常见原因1.安装不完全:安装过程中可能出现中断或错误,导致部分组件未正确安装,从而引发重新配置。2.软件冲
diskgenius是一款功能强大的磁盘管理及数据恢复软件,它不仅支持基本的磁盘分区操作,如建立、删除和格式化分区,还提供了数据恢复、分区备份与还原、复制分区和硬盘、快速分区等多种高级功能。当硬盘分区中存在多余的空闲空间时,用户可以使用diskgenius来清
本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任,所有资源请在下载后24小时内删除。
如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除,联系
(版权说明注意事项)。若有关在线投稿、无法下载等问题,请与本站客服人员联系
!
用户可自行按线路选择相应的下载点,可以直接点击下载/另存为,若直接点击下载速度太慢,请尝试使用高速下载器。为确保下载的文件能正常使用,请使用WinRAR最新版本解压本站软件。
建议大家谨慎对待所下载的文件,大家在安装的时候务必留意每一步!关于360安全卫士或QQ电脑管家的有关提示,请自行注意选择操作。