三木猿阅读(电脑小说漫画阅读器)整理了多家数据源,可以直接在搜素框输入关键词查找小说漫画资源,如果没搜到可以多换几次数据源尝试一下。找到的资源可以像正常阅读器使用书签、下载等功能,十分实用。
在线小说资源阅读
离线下载功能
搜索框
多数据源筛选
解压后打开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;
}
}
以上就是三木猿阅读(电脑小说漫画阅读器)的全部内容了,软件爱好者为您提供最好用的软件,为您带来最新的游戏!
用户们可以通过电脑的文本阅读软件来随时阅读各种文本内容,解决文本格式对阅读的限制,致力于为小伙伴们带来更加优质的阅读体验。在这里小编为用户们整理了一份《文本阅读器电脑软件合集》,希望能够对你有所帮助!
这次小编给大家推荐一些好用的漫画阅读软件,不管什么类型的漫画资源都能在线找到并且阅读,资源都是免费的,漫画还会及时的进行更新,想看什么漫画都可以满足你,漫画种类都划分的详细,搜索关键词就可以获取到相关的漫画内容,让大家可以更好的去追漫画,都是全集推送的。
比特币作为其中的璀璨明珠,其价格波动和市场趋势一直备受瞩目。而要深入理解比特币市场的运行机制,就不得不提到一个关键概念——筹码分布。那么,比特币筹码分布究竟是什么意思呢?下面就让小编为你详细讲解一下吧!比特币筹码分布是什么意思?比特币筹码分布是指持有比特币的人在不同价格水平上的分布情况。这是一个重要的指标,用来衡量持有比特币的人在当前市场价格中的获利情况,并推断未来价格变动趋势。比特币的筹码分布