规则之树

基于Java开发的小说漫画连载系统

项目介绍

小说精品屋是一个多平台(web、安卓app、微信小程序)、功能完善的屏幕自适应小说漫画连载系统,包含精品小说专区、轻小说专区和漫画专区。包括小说/漫画分类、小说/漫画搜索、小说/漫画排行、完本小说/漫画、小说/漫画评分、小说/漫画在线阅读、小说/漫画书架、小说/漫画阅读记录、小说TXT下载、小说弹幕、小说/漫画自动采集/更新/纠错、小说内容自动分享到微博、邮件自动推广、链接自动推送到百度搜索引擎等功能,现已开源web端、安卓端、小程序端源码。

开发技术

前台门户网站:SpringBoot+Mybatis+Mysql+Ehcache+Thymeleaf+Layui

平台后台管理系统 : SpringBoot+Mybatis+Mysql+Redis+Thymeleaf+Layui+Bootstrap

示例代码

            //解析第一页小说的数据
            //小说页URI正则匹配
            Pattern bookUriPatten = compile(getBookUrlPattern());
            Matcher bookUriMatcher = bookUriPatten.matcher(bookListHtml);
            boolean bookUriFind = bookUriMatcher.find();

            //小说评分正则匹配
            Pattern scorePatten = compile(getScorePattern());
            Matcher scoreMatch = scorePatten.matcher(bookListHtml);
            boolean scoreFind = scoreMatch.find();

            //小说名正则匹配
            Pattern bookNamePatten = compile(getBookNamePattern());
            Matcher bookNameMatch = bookNamePatten.matcher(bookListHtml);
            boolean bookNameFind = bookNameMatch.find();

            while (bookUriFind && scoreFind && bookNameFind) {
                try {
                    //小说基础信息能够匹配到
                    Float score = Float.parseFloat(scoreMatch.group(1));
                    if (score < getLowestScore()) {
                        //只采集指定评分以上的小说
                        continue;
                    }

                    //获取小说基础信息,生成采集日志
                    String bookUri = bookUriMatcher.group(1);
                    String bookUrl = getIndexUrl() + "/" + bookUri + "/";
                    String bookName = bookNameMatch.group(1);
                    bookService.addBookParseLog(bookUrl, bookName, score, (byte) 10);

                } catch (Exception e) {
                    //小说解析出现异常,不做处理,继续下一本小说的解析
                    log.error(e.getMessage(), e);
                } finally {
                    //跳到下一本小说的解析
                    bookUriMatcher.find();
                    bookUriFind = bookUriMatcher.find();
                    scoreFind = scoreMatch.find();
                    bookNameFind = bookNameMatch.find();
                }
            }

截图

GitHub地址

https://github.com/201206030/fiction_house

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »