- 安卓下载 相关标签
类型:杂类工具
语言:简体中文
更新: 2020-09-10 13:27:21
大小:87.6 GB
平台:Win All
- 1[杂类工具]语雀官方电脑版下载 v0.8.16 免费版
- 2[杂类工具]NxShell最新版下载 v1.2.0 官方汉化版
- 3[杂类工具]MP3剪切合并大师正式官方下载 v13.9 免费版
- 4[杂类工具]ce修改器汉化官方版下载 v7.2 免费版
- 5[杂类工具]小说创作大师普及版下载 v13.0 最新专业版
- 6[杂类工具]同步助手电脑最新版下载 v3.6.1.0 免费版
- 7[杂类工具]雷电模拟器PC纯净版下载 v1.0.9 无广告版
- 8[杂类工具]蓝叠模拟器官方中文版下载 v4.260.2 免费版
- 9[杂类工具]简道云免费最新下载 v1.0 电脑版
- 10[杂类工具]uu皮肤助手官方最新下载 v11.5 不封号版
小说漫画阅读器电脑版是一款十分好用的在线小说漫画阅读工具,用户可以在这里轻松体验全网最简单的阅读方式,在电脑上一站式免费阅读,让小说或者漫画东欧能轻松畅读。小说漫画阅读器里面的小说资源都是源自笔趣阁,用户可以在这里免费阅读全网海量的热门小说,你想看的小说都能在这里轻松阅读,不用花钱也能无限畅读。
小说漫画阅读器绿色版有着简单的使用方式,用户在搜索栏中一键搜索,全网海量的资源都在这里,每天都能发现更多的精彩。
小说漫画阅读器电脑版特色
在线小说资源阅读
离线下载功能
搜索框
多数据源筛选
小说漫画阅读器电脑版使用说明
用爬虫写的小说漫画网站(多线程,已上线)
jar包版:https://wws.lanzous.com/ilcdzght3yj 密码:4vmx
只是想用的直接拿jar包吧java -jar SanMuYuanBook-1.0-SNAPSHOT.jar 运行就行,然后在浏览器localhost:80访问
项目放在了码云上,需要请自行下载(随便霍霍)https://gitee.com/sen_yang/SanMuYuanBook
1.首先是java目录,
com\aaa\config\SSLHelper.java这个是用来忽略网站安全证书的,不加他的话,就没次都需要下载要爬取的网站的安全证书,很麻烦,所以就干脆全部忽略。
com\aaa\config\ThreadExecutorConfig.java用来配置线程池
com\aaa\controller\BookController.java关于小说的各种操作
com\aaa\controller\CartoonController.java关于漫画的各种操作
com\aaa\data这个包获取数据的操作,项目核心都在这
com\aaa\util\DataProcessing.java用来数据处理,里面只有个分割list的方法
com\aaa\util\Download.java用来调用浏览器下载
com\aaa\util\GetDocument.java传入网址获取document对象
com\aaa\util\ZipUtils.java用来将漫画打包为zip
2.然后是前端
index是小说主界面
cartoonIndex是漫画主界面
Catalogue结尾的是目录界面
read开头的是阅读界面
代码都在项目里面自己看吧
小说漫画阅读器电脑版使用方法
解压后打开exe文件,到浏览器输入http://localhost/,即可开始阅读,数据源有两个biquge和biquge5200,页面借用了起点。
我电脑上运行时所有页面加载速度平均为3s,网速好不到一秒,很多地方用到了线程池,不过只用了定长的线程池
项目已经部署在腾讯云服务器,http://49.235.253.131,部署在云上的加载速度慢,这个也是没办法的
小说漫画阅读器电脑版代码展示
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
Pattern pattern = Pattern.compile("]>([\\s\\S]*?)(?=)");
Document document = Jsoup.connect("https://www.biquge5200.com/" + bookCod + "/").get();
Elements dd = document.getElementsByTag("dd");
Map
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
Elements dd = document.getElementsByTag("dd");
Map
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.0 笔趣阁定制版其他版本
用户评论
最新评论
- 置顶 河北承德电信 网友 敷衍
好东西值得分享
- 置顶 山东菏泽联通 网友 星星少女?
凡事要乘早
- 置顶 甘肃定西电信 网友 东风寄千愁
谢谢小编大大分享,支持一下。。。
- 置顶 河南开封电信 网友 等过春秋
这软件好用,奥力给
- 置顶 云南保山联通 网友 一米阳光°几度温暖
成功下载&成功使用