
1.说明
网络小说搜索引擎( novels-search )—— owllook 网址:https://www.owllook.net/
owllook是一个基于其他网站的垂直小说搜索引擎,至于为什么写这个,一个是想利用sanic尽量做成异步服务,二是想就此练习下推荐系统,顺便作为毕业设计。
开源在 github,https://github.com/howie6879/novels-search
本项目纯属共享学习之用,不得用于商业!
- sanic:基于 Python 3.5+的异步 web 服务器
- sanic_session:sanic 的持续会话插件
- vloop:sanic 默认使用 uvloop,替代 asyncio 本身的 loop
- motor:异步的 mongodb 驱动
- aiohttp:异步请求
- aiocache:异步缓存,本项目改用了其中的 decorator 部分,缓存数据库使用 redis
- caddy:基于 go 的 web 服务器
对于用户信息,利用 mongodb 进行存储。
某些必要的缓存,利用 redis 进行缓存处理,注意,对于限制数据:都将在 24 小时删除。
对于不同网站的小说,页面规则都不尽相同,我希望能够在代码解析后再统一展示出来,这样方便且美观,而不是仅仅跳转到对应网站就完事,清新简洁的阅读体验才是最重要的。
目前采用的是直接在百度上进行结果检索(现在发现百度不行,又加了 360,谷歌的也写了一个,部分数据准备开始用爬虫获取),也不是不能做的更大更全,只是觉得没什么意义,目前的检索结果已经很足够。
我尽量写少量的规则来完成解析,具体见规则定义,遇到自己喜欢的小说网站,你也可以自己添加解析。
BTW,sanic 写界面确实不是很方便。
运行:
python server.py
或者
gunicorn --bind 127.0.0.1:8001 --worker-class sanic_gunicorn.Worker server:app
2.demo
下面是一些截图展示,具体效果图请看这里:
目录解析页:

阅读:

书架:

3.关于
0.1.0:
- 小说的基本搜索解析功能
- 搜索记录
- 缓存
- 书架
- 书签
- 登录(暂时不开放注册,可与我申请体验)
- 初步兼容手机(后续跟进)
TODO:
-
[x] 注册
-
[x] 上次阅读
-
[ ] 阅读书单
-
[ ] 推荐
-
[ ] 排行榜
License
novels-search is offered under the Apache 2 license.