Android小说爬虫工具,几行代码实现小说阅读下载 - Go语言中文社区

Android小说爬虫工具,几行代码实现小说阅读下载


使用简单的几行代码,打造你自己的小说开源软件,已解析10+个小说网站,支持并发搜索下载,下载速度可达5m/s。

GitHub

为了测试顺手实现的渣客户端,轻松就能实现搜索,收藏,追更,下载等功能,目前状况稳定。
实现追更,多网站收藏,已稳定

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,需要继承Site
SiteCollection.getInstance().addSite(Zhuishushenqi());
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_36168049/article/details/84038537
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-09-13 13:09:11
  • 阅读 ( 1331 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢