GithubHelp home page GithubHelp logo

khalidelsayed / easybook Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zzzia/easybook

0.0 1.0 0.0 1.96 MB

Java/Android多站点小说爬虫,制作成工具类,并发搜索下载,支持追更

Java 91.37% Kotlin 8.63%

easybook's Introduction

Java/Android小说爬虫工具

使用简单的几行代码,打造你自己的小说开源软件,多站点解析,并发搜索下载。

App体验

QQ群交流:29527219

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.squareup.okhttp3:okhttp:3.11.0'
    implementation 'com.github.Zzzia:EasyBook:2.44'
}

IDEA平台

将release内的压缩包下载下来,解压后依次添加依赖,一共有7个jar。


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

搜索:(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());

解析起点排行榜:

EasyBook.getHottestRank().subscribe();

解析起点分类排行榜:

EasyBook.getRank(rankInfo);
v2.44
添加对起点中文网的排行解析,用于书城功能

v2.42
尝试添加热修复版本控制

v2.40
添加EPUB封面,更换为xhtml格式,支持更多阅读软件

Thanks

  • okHttp
  • epublib
  • jsoup

easybook's People

Contributors

zzzia avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.