猜您喜欢:
三木猿阅读专为喜欢看小说的电脑端用户制作,提供海量丰富的小说和漫画资源,数据资源来源于网络,用户能够在这里搜索资源并进行在线阅读,还提供离线下载的功能,用户无需注册会员即可免费看到小说的全部章节内容,支持添加书签和自定义设置阅读页面。
在线小说资源阅读
离线下载功能
搜索框
多数据源筛选
解压后打开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;
}
}
以上就是三木猿阅读(电脑小说漫画阅读器)的全部内容了,快快收藏非凡软件站下载更多软件和游戏吧!
小说阅读器 看小说不仅可以帮助我们打发无聊的时间,更有用的是可以提高我们的文采及扩展我们的知识范围,那么小说阅读器有这么多到底哪个更好呢?下面小编为大家挑选一些比较好用的小说阅读器。 小说阅读器相关专题:免费小说阅读器 本站还提供小说阅读器手机端,需要的用户请查看:手机小说阅读器专题。
在如今数字化的时代,手机应用成为了我们生活中不可或缺的一部分。瑞幸咖啡app不仅为我们提供便捷的咖啡购买服务,还能让我们个性化地展示自己。那么,瑞幸咖啡app怎么换头像呢?下面就为大家详细介绍。首先,打开瑞幸咖啡app。进入主界面后,我们可以看到右下角有一个“
小爱同学为我们的生活带来了诸多便利,但有时恢复出厂设置后,连接就成了问题。别担心,下面详细介绍恢复出厂设置后连接小爱的方法。确认网络环境首先,要确保你的手机或其他连接设备已连接到稳定的wi-fi网络。良好的网络是小爱同学正常运行和连接的基础。如果网络不稳定,可
在使用千本笔记的过程中,有时我们会产生一些不再需要的笔记本,这时候就需要将它们删除。那么千本笔记怎么删除笔记本呢?下面就为大家详细介绍。首先,打开千本笔记应用程序。进入主界面后,我们可以看到自己创建的各个笔记本。找到想要删除的笔记本,长按该笔记本的图标。此时会
在花瓣app的缤纷世界里,设置性别可是个性化旅程中重要的一步哦!它能让你更好地与志同道合的小伙伴互动,精准发现心仪内容。那么,花瓣app究竟该怎么设置性别呢?别着急,下面就为你详细揭秘。打开花瓣app,进入到个人页面。在这里,你会看到许多关于个人信息的选项。一
在视频编辑过程中,调整对比度是一项常见且重要的操作,它能够显著提升视频的视觉效果。蜜蜂剪辑作为一款功能强大的视频编辑软件,为用户提供了便捷的对比度调整方式。打开蜜蜂剪辑并导入视频首先,启动蜜蜂剪辑软件。进入主界面后,点击“导入”按钮,选择你想要编辑的视频文件,
在腾讯视频的精彩世界里,关注喜爱的视频作者是与优质内容紧密相连的重要方式。那么,腾讯视频究竟该怎么关注视频作者呢?首先,打开腾讯视频app。当你浏览视频时,在视频播放界面的左上角或右上角,通常能看到视频作者的头像。点击作者头像,会进入作者的个人主页。在个人主页
本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任,所有资源请在下载后24小时内删除。
如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除,联系
(版权说明注意事项)。若有关在线投稿、无法下载等问题,请与本站客服人员联系
!
用户可自行按线路选择相应的下载点,可以直接点击下载/另存为,若直接点击下载速度太慢,请尝试使用高速下载器。为确保下载的文件能正常使用,请使用WinRAR最新版本解压本站软件。
建议大家谨慎对待所下载的文件,大家在安装的时候务必留意每一步!关于360安全卫士或QQ电脑管家的有关提示,请自行注意选择操作。