源码:小说搜索引擎 OwlLook

2020年3月21日 | 分类: 【源码】

演示:https://www.owllook.net/

owllook是一个基于其他搜索引擎构建的垂直小说搜索引擎,owllook目的是让阅读更简单、优雅,让每位读者都有舒适的阅读体验,如搜书、阅读、收藏、追更、推荐等功能:

演示网址:https://www.owllook.net/
公众号:粮草小说,有兴趣的话可以关注下
详细安装介绍:详细安装介绍
个人公众号:老胡的储物柜

衍生项目:

终端看小说: NIYT
小说监控工具:owllook_gui
小说接口:owllook_api

注意:若将本项目部署并发行,请声明来源,本项目纯属共享学习之用,不得用于商业!

【介绍】

owllook使用了mongodb储存了用户使用过程中的产生的基本信息,诸如注册信息、搜索小说信息、收藏小说数据等,对于某些必要的缓存,则利用redis进行缓存处理,如小说缓存、session缓存,注意,对于限制数据:都将在24小时删除

对于不同网站的小说,页面规则都不尽相同,我希望能够在代码解析后再统一展示出来,这样方便且美观,而不是仅仅跳转到对应网站就完事,清新简洁的阅读体验才是最重要的

目前采用的是直接在搜索引擎上进行结果检索,我尽量写少量的规则来完成解析,具体见规则定义,遇到自己喜欢的小说网站,你也可以自己添加解析,owllook目前解析了超过 200+ 网站,追更网站解析了50+

有一些地方需要用到爬虫,比如说排行榜,一些书籍信息等,我不想动用重量级爬虫框架来写,于是我在owllook里面编写了一个很轻量的爬虫框架来做这件事,见 ruia

BTW,sanic写界面确实不是很方便,至于为什么写这个,一是想利用sanic尽量做成异步服务,二是想就此练习下推荐系统,顺便作为毕业设计

【安装】

请先装好mongo以及redis,不会安装mongo看这里,owllook使用pipenv管理虚拟环境,所以使用前请确保安装一个Python3.6环境(比如我这里环境路径在/Users/howie/anaconda3/envs/python36/bin/python3.6),然后安装好pipenv

mongo以及redis装好后,进入项目目录,依照步骤执行:

# 下载代码
git clone https://github.com/howie6879/owllook
cd owllook
pip install pipenv
# 请先提前创建好Python3.6环境
pipenv install –python /Users/howie/anaconda3/envs/python36/bin/python3.6 –skip-lock
# 进入虚拟环境
pipenv shell

# 先配置好相关数据库配置,具体看`config/dev_config.py`

# 方案一
# 运行:
cd owllook
pipenv run gunicorn -c owllook/config/gunicorn.py –worker-class sanic.worker.GunicornWorker owllook.server:app

# 方案二 推荐
# 安装docker并打包镜像
docker build -t howie6879/owllook .
# 实际运行
docker-compose up -d
# 退出
docker-compose down

Features

多搜索源
丰富的解析源
界面统一解析
完善的阅读体验
搜索记录
缓存
书架
书签
登录
初步兼容手机(后续跟进)
注册(开放注册)
上次阅读记录
最新章节
书友推荐(简单地基于相似度进行推荐)
目录获取
翻页
搜索排行
章节异步加载 感谢@mscststs
排行榜 – 起点+owllook
自带爬虫框架,统一爬虫规范,对爬虫感兴趣的可以看看 – ruia