From 80e07180c9a58154ccc63294e9d1de89444b1e23 Mon Sep 17 00:00:00 2001 From: xxy <1179705413@qq.com> Date: Fri, 8 Nov 2019 03:25:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 +++++++++++++++------- assets/QQ图片20191108022250.png | Bin 0 -> 26317 bytes 2 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 assets/QQ图片20191108022250.png diff --git a/README.md b/README.md index 11c6c75..9066f62 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ # 小说精品屋 -#### 介绍 -小说精品屋是一个功能完善的小说弹幕网站,包含精品小说专区和轻小说专区。包括小说分类、小说搜索、小说排行、小说评分、小说在线阅读、小说书架、小说下载、小说弹幕、小说自动爬取、小说内容自动分享到微博、链接自动推送到百度搜索引擎等功能。现公布web端代码,需要android端和小程序代码的也可以找我。 +#### 背景介绍 +小说精品屋是一个功能完善的小说弹幕网站,包含精品小说专区和轻小说专区。包括小说分类、小说搜索、小说排行、完本小说、小说评分、小说在线阅读、小说书架、阅读记录、小说下载、小说弹幕、小说自动爬取、小说内容自动分享到微博、邮件自动推广、链接自动推送到百度搜索引擎等功能。包含电脑端、移动端、微信小程序等多个平台,现已开源web端和微信小程序端源码,大家可以用于学习或者商用。 + +该项目来源于个人真实运营项目,因为没去做SEO,所以用户注册量不大,但是依然有一批用户一直都在支持着,自己也没去接入广告赚钱,因为这样网站的体验就差了。自己已经没有太大精力运营下去了,所以就把源码开源一下,把机会留给有兴趣搞小说网站的朋友们。只要你的硬盘足够大,爬虫程序理论上是可以无限制地爬取网络小说的,大家可以根据自己的需求去修改,有什么问题或者好的有趣的需求也可以和我提,有时间我还是会继续维护这份源码的。大家可以根据自己是想真实运营还是学习的需求去使用爬虫程序吧,如果只是想演示一下的话,运行爬虫程序几分钟数据就足够了 。 #### 软件架构 Springboot+Mybatis+Mysql+Ehcache+Thymeleaf+Layui @@ -12,9 +14,9 @@ Springboot+Mybatis+Mysql+Ehcache+Thymeleaf+Layui 1. 数据准备,拉取小说爬虫程序,按照说明文件爬取网络小说到数据库中。([点击获取爬虫程序](https://gitee.com/xiongxyang/crawl-book)) 2. 修改项目application.yml配置文件中的数据库配置。 3. 本地直接运行或使用maven插件打包成jar文件上传到服务器上。 -4. http://ip:port访问首页 -5. http://ip:port/books访问精品小说模块 -6. http://ip.port/book/searchSoftBook.html访问轻小说模块 +4. `http://ip:port`访问首页 +5. `http://ip:port/books`访问精品小说模块 +6. `http://ip.port/book/searchSoftBook.html`访问轻小说模块 #### 项目截图 @@ -36,11 +38,15 @@ Springboot+Mybatis+Mysql+Ehcache+Thymeleaf+Layui -5. 移动端(小说阅读页) +5. 移动端(目录页) + + ![QQ图片20191018161901](./assets/QQ图片20191108022250.png) + +6. 移动端(小说阅读页) ![QQ图片20191018161901](./assets/QQ图片20191018161901.png) -6. 小程序 +7. 小程序 ![mini4](./assets/mini4.png) @@ -56,5 +62,7 @@ Springboot+Mybatis+Mysql+Ehcache+Thymeleaf+Layui ![mini-code](./assets/mini-code.png) +#### PS +本人提倡共享精神,该项目可自由用于任何场景,做任何修改。但希望修改后的代码提交到本项目分支上。如特殊情况,不希望公开代码,可单独向作者说明,谢谢!个人精力有限,欢迎大家共同完善项目。 diff --git a/assets/QQ图片20191108022250.png b/assets/QQ图片20191108022250.png new file mode 100644 index 0000000000000000000000000000000000000000..903b0ead40eb6acc3d6217d3ae8d898748413b82 GIT binary patch literal 26317 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 B=