有喜欢看小说的程序员进来看看 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
winglight2016
V2EX    程序员

有喜欢看小说的程序员进来看看

  •  
  •   winglight2016 2017-05-11 20:45:18 +08:00 5283 次点击
    这是一个创建于 3106 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚花了两天时间做了个粗糙的小说阅读器,期待有兴趣的 XD 一起完善^_^ 项目地址: https://github.com/winglight/soducrawler

    下面是介绍:

    搜读阅读器

    这个项目是为了解决阅读网络小说的几个痛点:

    • “免费”网站广告太多
    • 有些不能收藏,有些能,但是有 bug,或者有收藏数量限制
    • 阅读不便,总是要弹开新窗口
    • 追更新不便,需要手动刷新
    • 不能在 PC 和手机之间同步进度
    • 不能离线查看

    因此,这个项目的路线图如下:

    • 抓取网络小说及章节内容( DONE )
    • 展示小说列表( DONE )
    • 小说章节阅读器( TODO )
    • 本地收藏( TODO )
    • 云端同步收藏、进度信息( TODO )
    • 封装 electron 客户端( TODO )
    • APP 版( TODO )

    本地安装使用方法:

    1. 安装 nodejs 环境
    2. 安装 node 依赖包:在命令行进入项目目录,执行

    npm install

    或者,使用 yarn

    yarn

    1. 执行抓取代码

    node crawler.js

    1. 打开小说阅读器:直接双击 index.html 在浏览器打开

    请注意,由于使用了 ng-admin 来自动生成阅读器页面,目前还有些展示问题:

    1. 搜索小说必须使用全部名称
    2. 查看章节内容时,html 标签全部显示出来了,而且字体太小
    3. 显示章节列表时,打开 modal 窗口显示章节内容的功能还有问题:要么无法显示内容,要么显示带 html 标签的内容

    项目采用了以下技术:

    1. parse-server: https://github.com/ParsePlatform/parse-server-example
    2. ng-admin: https://www.gitbook.com/book/marmelab/ng-admin/details
    3. cheerio: https://github.com/cheeriojs/cheerio
    4. js-crawler: https://github.com/antivanov/js-crawler
    5. heroku: https://www.heroku.com
    6. nodejs: https://nodejs.org
    7. 其他使用到的开源项目,请看 package.json

    欢迎大家提出宝贵意见,反馈直接发到 issue,有兴趣参与开发的可以提 pull request,我会尽快处理。

    能看到这里的都是真爱:其实我是碰到难题一时没有办法,诚邀 nodejs/angularjs 高手来解决!

    24 条回复    2017-05-13 22:14:54 +08:00
    swYang
        1
    swYang  
       2017-05-11 22:02:04 +08:00
    围观一下
    hzw94
        2
    hzw94  
       2017-05-11 23:15:10 +08:00
    可惜我 nodejs 太弱了,帮不上忙。
    winglight2016
        3
    winglight2016  
    OP
       2017-05-12 07:41:19 +08:00
    @swYang @hzw94 重在参与^_^
    熟悉 java 的话,以后可能还会出个 play+java 的版本
    as9t
        4
    as9t  
       2017-05-12 08:57:55 +08:00
    老子搜书 良心 APP
    love2075904
        5
    love2075904  
       2017-05-12 09:04:55 +08:00
    现在一般在起点看了。。
    enenaaa
        6
    enenaaa  
       2017-05-12 09:48:33 +08:00
    用盗版源提供内容给用户, 是有政策风险的。上次有人被抓了。
    qq7790586
        7
    qq7790586  
       2017-05-12 09:55:27 +08:00
    ios 的求推荐追书 app,以前用追书神器,有广告不能换源了。现在用石头阅读,感觉 UI 不是很好看。。。楼上有推荐老子搜书,我下载看看。
    flowfire
        8
    flowfire  
       2017-05-12 10:42:46 +08:00
    @enenaaa #6 楼主也不做服务= =只提供源码应该没风险吧,,
    讲道理像我这种只看完本的。。。起点一个小时花 12 块有点心疼
    zhaohehedola
        9
    zhaohehedola  
       2017-05-12 10:44:20 +08:00
    比较好奇 小说阅读界面是用什么做的
    flowfire
        10
    flowfire  
       2017-05-12 10:46:06 +08:00
    crawler 里一片 var 看的我难受。。。
    既然都用 node 了为啥不用 let 啊= =
    thomaspaine
        11
    thomaspaine  
       2017-05-12 11:41:00 +08:00
    做盗版资源聚集软件,还是小心点好
    standin000
        12
    standin000  
       2017-05-12 16:01:44 +08:00
    去广告的功能是怎么做的,以前是用 readability.com,可惜挂了
    pyufftj
        13
    pyufftj  
       2017-05-12 16:23:21 +08:00
    小心。。做这种事情会被警告的。
    jinhan13789991
        14
    jinhan13789991  
       2017-05-12 16:45:51 +08:00
    小心吧~ 作为一个一年在起点花了一千多块的正版用户表示,支持作者还是有必要的。不然作者喝西北风,你追的书质量也下降了
    Hzzone
        15
    Hzzone  
       2017-05-12 19:29:36 +08:00
    https://github.com/xiadd/zhuishushenqi
    建议你去看一下这个,而不是傻傻的自己写爬虫。当然也可以,但是比较麻烦,支持的网站也少。
    winglight2016
        16
    winglight2016  
    OP
       2017-05-12 22:09:59 +08:00
    @enenaaa 开源项目,纯研究学习使用符合知识产权政策的
    winglight2016
        17
    winglight2016  
    OP
       2017-05-12 22:10:57 +08:00
    @zhaohehedola 阅读器界面使用了 ng-admin,这个项目使用了 angularjs 1.x
    winglight2016
        18
    winglight2016  
    OP
       2017-05-12 22:12:36 +08:00
    @flowfire 因为在我看来 let 和 var 差不多~~~也可能是我的 nodejs 代码量比较少,没有发现相关问题
    winglight2016
        19
    winglight2016  
    OP
       2017-05-12 22:13:33 +08:00
    @standin000 实际上还是一个 reader 的开源项目,在 package.json 里面可以看到
    winglight2016
        20
    winglight2016  
    OP
       2017-05-12 22:15:19 +08:00
    @Hzzone 这个追书神器的 API 我也分析过,只是后来发现章节内容被加密了,虽然看起来是 base64 的,但是没搞定啊~~~
    Hzzone
        21
    Hzzone  
       2017-05-13 00:07:51 +08:00
    @winglight2016 VIP 章节才加密了吧?
    winglight2016
        22
    winglight2016  
    OP
       2017-05-13 08:52:42 +08:00
    @Hzzone 是的,因为没法解密,所以没用这个
    bengle
        23
    bengle  
       2017-05-13 13:34:59 +08:00
    版权是很大问题,自己玩玩就好了
    winglight2016
        24
    winglight2016  
    OP
       2017-05-13 22:14:54 +08:00
    @bengle 对,仅用于学习研究^_^
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3982 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 00:55 PVG 08:55 LAX 16:55 JFK 19:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86