刚花了两天时间做了个粗糙的小说阅读器,期待有兴趣的 XD 一起完善^_^ 项目地址: https://github.com/winglight/soducrawler
下面是介绍:
搜读阅读器
这个项目是为了解决阅读网络小说的几个痛点:
- “免费”网站广告太多
- 有些不能收藏,有些能,但是有 bug,或者有收藏数量限制
- 阅读不便,总是要弹开新窗口
- 追更新不便,需要手动刷新
- 不能在 PC 和手机之间同步进度
- 不能离线查看
因此,这个项目的路线图如下:
- 抓取网络小说及章节内容( DONE )
- 展示小说列表( DONE )
- 小说章节阅读器( TODO )
- 本地收藏( TODO )
- 云端同步收藏、进度信息( TODO )
- 封装 electron 客户端( TODO )
- APP 版( TODO )
本地安装使用方法:
- 安装 nodejs 环境
- 安装 node 依赖包:在命令行进入项目目录,执行
npm install
或者,使用 yarn
yarn
- 执行抓取代码
node crawler.js
- 打开小说阅读器:直接双击 index.html 在浏览器打开
请注意,由于使用了 ng-admin 来自动生成阅读器页面,目前还有些展示问题:
- 搜索小说必须使用全部名称
- 查看章节内容时,html 标签全部显示出来了,而且字体太小
- 显示章节列表时,打开 modal 窗口显示章节内容的功能还有问题:要么无法显示内容,要么显示带 html 标签的内容
项目采用了以下技术:
- parse-server: https://github.com/ParsePlatform/parse-server-example
- ng-admin: https://www.gitbook.com/book/marmelab/ng-admin/details
- cheerio: https://github.com/cheeriojs/cheerio
- js-crawler: https://github.com/antivanov/js-crawler
- heroku: https://www.heroku.com
- nodejs: https://nodejs.org
- 其他使用到的开源项目,请看 package.json
欢迎大家提出宝贵意见,反馈直接发到 issue,有兴趣参与开发的可以提 pull request,我会尽快处理。
能看到这里的都是真爱:其实我是碰到难题一时没有办法,诚邀 nodejs/angularjs 高手来解决!