Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Novel Plus | 3,075 | 17 hours ago | 72 | apache-2.0 | Java | |||||
novel-plus 是一个多端(PC、WAP)阅读 、功能完善的小说 CMS 系统。包括小说推荐、小说检索、小说排行、小说阅读、小说书架、小说评论、小说爬虫、会员中心、作家专区、充值订阅、新闻发布等功能。 | ||||||||||
Owllook | 2,340 | 4 months ago | 21 | apache-2.0 | Python | |||||
owllook-小说搜索引擎 | ||||||||||
Filemasta | 627 | a year ago | 4 | gpl-3.0 | C# | |||||
A search application to explore, discover and share online files | ||||||||||
Scrapybook | 378 | 5 years ago | 9 | Python | ||||||
Scrapy Book Code | ||||||||||
Pythonscraping | 240 | 3 years ago | 5 | Jupyter Notebook | ||||||
The code of book: Python Scraping | ||||||||||
Douban_crawler | 169 | a year ago | 3 | mit | Python | |||||
备份豆瓣计划 | ||||||||||
Blinkist M4a Downloader | 97 | 8 months ago | 12 | mit | Go | |||||
Grabs all of the audio files from all of the Blinkist books | ||||||||||
Awesome Python Primer | 78 | 10 months ago | mit | Python | ||||||
自学入门 Python 优质中文资源索引,包含 书籍 / 文档 / 视频,适用于 爬虫 / Web / 数据分析 / 机器学习 方向 | ||||||||||
Goodreadsscraper | 76 | 4 months ago | 3 | mit | Python | |||||
Scrape data from Goodreads using Scrapy and Selenium :books: | ||||||||||
Scrapybook 2nd Edition | 45 | a year ago | 3 | Python | ||||||
Scrapy Book 2nd Edition Code http://scrapybook.com/ |
owllook
是一个基于其他搜索引擎构建的垂直小说搜索引擎,owllook目的是让阅读更简单、优雅,让每位读者都有舒适的阅读体验,如搜书、阅读、收藏、追更、推荐等功能:
衍生项目:
注意:若将本项目部署并发行,请声明来源,本项目纯属共享学习之用,不得用于商业!
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
首页:
搜索:
榜单:
书架:
目录解析页:
阅读:
为什么首页榜单为空白?
这个是根据小说搜索次数显示的,每天刷新一次,使用多了就会有
为什么会出现302跳转?
为了防止直接运行服务被恶意域名绑定,所以作出如下修改:
vim config/config.py
# 将 true 改为 false
VAL_HOST = os.getenv('VAL_HOST', 'true')
VAL_HOST = os.getenv('VAL_HOST', 'false')
小说榜单页面为什么没有内容?
需要运行owllook/spiders/spider_console.py
,
目前代码中是设定60分钟运行一次,运行的时候请酌情更改,
os.environ['MODE'] = 'PRO'
这段代码也请注释掉
owllook使用了以下第三方包:
sanic:基于Python 3.5+的异步web服务器
motor:异步的mongodb驱动
Jinja2:基于python的模板引擎
aiohttp:异步请求
caddy:基于go的web服务器
…...更多见Pipfile,感谢开发者
web框架:
owllook
is offered under the Apache 2 license.
捐赠:
美酒加咖啡,我只要喝一杯~
感谢以下捐赠者,具体见捐赠名单 ^_^