继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Android小说爬虫工具,几行代码实现小

慕码人8056858
关注TA
已关注
手记 1238
粉丝 350
获赞 1323

实现追更,多网站收藏,已稳定

Android平台

Step 1. Add the JitPack repository to your build file

allprojects {    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Step 2. Add the dependency

dependencies {
    implementation 'com.github.Zzzia:EasyBook:2.1'}

IDEA平台

将release内的压缩包下载下来,解压后依次添加依赖,一共有7个jar。由于使用okHttp,需要Kotlin插件。


使用说明:(具体可参照项目内简单示例或我写的小说神器

搜索:(Android会自动切换到主线程)

EasyBook.search("天行")
        .subscribe(new Subscriber<List<Book>>() {            @Override
            public void onFinish(List<Book> books) {                //搜索结果,返回book集合,提示用户选择
                //recyclerviewAdapter.load(books);
            }            @Override
            public void onError(Exception e) {                //搜索时遇到错误
            }            @Override
            public void onMessage(String s) {                //搜索的提示,如"正在搜索x趣阁"
            }            @Override
            public void onProgress(int i) {            //搜索进度,0 ~ 100
            }});

加载目录:

EasyBook.getCatalog(book)
        .subscribe(new Subscriber<List<Catalog>>() {            @Override
            public void onFinish(List<Catalog> catalogs) {                //加载结果,返回该书籍所有目录
            }
            ...
        });

加载某一章节内容:

EasyBook.getContent(book,catalog)
        .subscribe(new Subscriber<List<String>>() {            @Override
            public void onFinish(List<String> strings) {                //返回该章节所有内容,按行保存在集合内,需要自行调整格式
            }
            ...
        });

下载书籍:

EasyBook.download(book)
        .setSavePath("/sdcard/book")//设置保存的路径
        .setThreadCount(150)//设置下载的线程数
        .setType(Type.EPUB)//设置下载格式,如epub或txt
        .subscribe(new Subscriber<File>() {            @Override
            public void onFinish(File file) {                //下载完成后的文件
            }
            ...
        });

销毁线程(解决内存泄漏):

Disposable disposable;void onCreate(){
    disposable = EasyBook.search("天行").subscribe(...);
}void onDestroy(){
    disposable.dispose();
}

添加自己的站点解析:

//添加一个自己解析的站点类,叫Zhuishushenqi,需要继承SiteSiteCollection.getInstance().addSite(Zhuishushenqi());



作者:Zzzia
链接:https://www.jianshu.com/p/1777f2681eb0


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP