Skip to content
forked from howie6879/owllook

owllook-在线网络小说阅读网站&小说搜索引擎&小说推荐系统[搜索、追书、收藏、追更、小说API] - 基于Sanic

License

Notifications You must be signed in to change notification settings

putengfi/owllook

 
 

Repository files navigation

chapter

1.说明

网络小说搜索引擎——owllook,公众号粮草小说,有兴趣的话可以关注下:

owllook是一个基于其他搜索引擎的垂直小说搜索引擎

目标是满足小说爱好者的搜书、阅读、收藏、追更、推荐等功能

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

1.1.项目介绍

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

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

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

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

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

若觉得还可以,就给个 star 吧,详细介绍 owllook -- 一个简洁的网络小说搜索引擎

如果您希望在终端下看小说,可以试试这个项目NIYT

关于安装:

请先装好mongo以及redis,然后python环境请确认在python3.5+,不会安装mongo看这里

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

# 首先
git clone https://github.com/howie6879/owllook
cd owllook
pip install -r requirements.txt
cd owllook

# 方案一
# 运行:
python server.py
# 或者
gunicorn --bind 127.0.0.1:8001 --worker-class sanic.worker.GunicornWorker server:app

# 方案二
docker build -t owllook:0.1 .
# 在dev_owllook.env里面填上数据库配置 数据库ip需要注意 请将连接ip设置为ifconfig显示的ip
docker run --env-file ./dev_owllook.env -d -p 8001:8001 owllook:0.1

1.2.项目进度

v0.1.0:

  • 小说的基本搜索解析功能
  • 搜索记录
  • 缓存
  • 书架
  • 书签
  • 登录
  • 初步兼容手机(后续跟进)

TODO:

  • 注册(开放注册)
  • 上次阅读
  • 最新章节
  • 书友推荐(很基础的推荐)
  • 目录获取
  • 翻页
  • 搜索排行
  • 部分页面重写
  • 章节异步加载 感谢@mscststs
  • 排行榜 - 起点+owllook
  • 阅读书单
  • 推荐

2.效果图

下面是一些截图展示,具体效果图请看这里

2017-07-29更新

书架:

books

目录解析页:

demo

阅读:

content

3.FAQ

为什么首页榜单为空白?

这个是根据小说搜索次数显示的,每天刷新一次,使用多了就会有

小说榜单页面为什么没有内容?

需要运行owllook/spiders/spider_console.py, 目前代码中是设定60分钟运行一次,运行的时候请酌情更改, os.environ['MODE'] = 'PRO' 这段代码也请注释掉

4.感谢

owllook使用了以下第三方包:

  • sanic:基于Python 3.5+的异步web服务器

  • motor:异步的mongodb驱动

  • ​Jinja2:基于python的模板引擎

  • aiohttp:异步请求

  • caddy:基于go的web服务器

    …...更多见requirements.txt,感谢开发者。

web框架:

bootstrap:Sleek, intuitive, and powerful front-end framework for faster and easier web development.

mdui:MDUI 是一个基于 Material Design 的前端框架

捐赠:

donate

感谢以下捐赠者,具体见捐赠名单 ^_^

5.License

owllook is offered under the Apache 2 license.

About

owllook-在线网络小说阅读网站&小说搜索引擎&小说推荐系统[搜索、追书、收藏、追更、小说API] - 基于Sanic

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 60.7%
  • HTML 21.9%
  • JavaScript 11.5%
  • CSS 5.9%