All Projects → Zzzia → Easybook

Zzzia / Easybook

Java/Android多站点小说爬虫库,并发搜索,epub/txt下载,在线书源等,已实现小说app

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Easybook

You Dont Know Js Epub
"You Don't Know JS Yet" (2nd Edition) ePub generator.
Stars: ✭ 76 (-70.99%)
Mutual labels:  book, epub
Thiefmd
The markdown editor worth stealing. Inspired by Ulysses, based on code from Quilter
Stars: ✭ 48 (-81.68%)
Mutual labels:  novel, epub
Kobo Book Downloader
A tool to download your purchased Kobo books and remove the DRM from them.
Stars: ✭ 117 (-55.34%)
Mutual labels:  book, epub
lightnovel epub
🍭 epub generator for (light)novels (轻) 小说 epub 生成器,支持站点:轻之国度、轻小说文库
Stars: ✭ 89 (-66.03%)
Mutual labels:  epub, novel
Novel
基于 Laravel 5.2 的小说网站
Stars: ✭ 172 (-34.35%)
Mutual labels:  novel, book
Readteractive
Tool for writing and generating interactive books.
Stars: ✭ 23 (-91.22%)
Mutual labels:  book, epub
Bookdown
Authoring Books and Technical Documents with R Markdown
Stars: ✭ 2,768 (+956.49%)
Mutual labels:  book, epub
Koodo Reader
A modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux and Web
Stars: ✭ 2,938 (+1021.37%)
Mutual labels:  epub, book
Easyreader
基于React native 的开源小说阅读器
Stars: ✭ 139 (-46.95%)
Mutual labels:  novel, book
Funbook Old
I have a dream, to be a novelist someday.
Stars: ✭ 65 (-75.19%)
Mutual labels:  novel, book
Ethereum Development With Go Book
📖 A little book on Ethereum Development with Go (golang)
Stars: ✭ 754 (+187.79%)
Mutual labels:  book, epub
novelsave
This is a tool to download and convert novels from popular sites to e-books.
Stars: ✭ 25 (-90.46%)
Mutual labels:  epub, novel
Easybook
Book publishing as easy as it should be (built with Symfony components)
Stars: ✭ 744 (+183.97%)
Mutual labels:  book, epub
Netkiller.github.io
Netkiller Free ebook - 免费电子书
Stars: ✭ 861 (+228.63%)
Mutual labels:  book, epub
Crowbook
Converts books written in Markdown to HTML, LaTeX/PDF and EPUB
Stars: ✭ 399 (+52.29%)
Mutual labels:  book, epub
Books
IT技术书籍文字版mobi epub格式
Stars: ✭ 131 (-50%)
Mutual labels:  book, epub
Novel Plus
小说精品屋-plus是一个多端(PC、WAP)阅读、功能完善的原创文学CMS系统,由前台门户系统、作家后台管理系统、平台后台管理系统、爬虫管理系统等多个子系统构成,支持多模版、会员充值、订阅模式、新闻发布和实时统计报表等功能,新书自动入库,老书自动更新。
Stars: ✭ 1,122 (+328.24%)
Mutual labels:  novel, book
Fiction house
小说精品屋是一个多平台(web、安卓app、微信小程序)、功能完善的屏幕自适应小说漫画连载系统,包含精品小说专区、轻小说专区和漫画专区。包括小说/漫画分类、小说/漫画搜索、小说/漫画排行、完本小说/漫画、小说/漫画评分、小说/漫画在线阅读、小说/漫画书架、小说/漫画阅读记录、小说下载、小说弹幕、小说/漫画自动采集/更新/纠错、小说内容自动分享到微博、邮件自动推广、链接自动推送到百度搜索引擎等功能。
Stars: ✭ 2,710 (+934.35%)
Mutual labels:  novel, book
Wenku8ToEpub-Online
基于flask的wenku8的epub下载网站,能够缓存wenku8网站有/无版权小说,Material Design界面,人性化使用前端。
Stars: ✭ 49 (-81.3%)
Mutual labels:  epub, novel
Order-Book-Matching-Engine
Order Book Matching Engine for Stock Exchanges (1us latency for matching)
Stars: ✭ 112 (-57.25%)
Mutual labels:  book

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.github.Zzzia:EasyBook:2.58'
    implementation 'com.squareup.okhttp3:okhttp:4.2.2'
    implementation 'com.google.code.gson:gson:2.8.5'
}

混淆(默认自动加入)

-keep class com.zia.bookdownloader.bean.** { *; }

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

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

EasyBook.search("天行")
        .subscribe(new StepSubscriber<List<Book>>() {
            @Override
            public void onFinish(@NonNull List<Book> books) {
                //所有站点小说爬取完后调用这个方法,传入所有站点解析的有序结果
            }

            @Override
            public void onError(@NonNull Exception e) {
                e.printStackTrace();
            }

            @Override
            public void onMessage(@NonNull String message) {
                //一些搜索中的进度消息,错误原因等,可以用toast弹出
            }

            @Override
            public void onProgress(int progress) {
                //搜索进度
            }

            @Override
            public void onPart(@NonNull List<Book> books) {
                //某一个站点的小说搜索结果
            }
        });

加载目录:

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) {
				//下载完成后的文件
			}
			//...
		});

分段下载:

EasyBook.downloadPart(book, 0, 100)
        .setThreadCount(50)
        .subscribe(new Subscriber<ArrayList<Chapter>>() {
            @Override
            public void onFinish(@NonNull ArrayList<Chapter> chapters) {
                //返回一个Chapter集合,保证不为空且都有contents
            }
            //...
        });

当然也支持同步调用,但不建议使用:

List<Catalog> list = EasyBook.getCatalog(book).getSync();

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

Disposable disposable;

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

void onDestroy(){
    disposable.dispose();
}

添加自己的站点解析:

教程

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

解析起点排行榜:

EasyBook.getHottestRank().subscribe();

解析起点分类排行榜:

EasyBook.getRank(rankInfo);

添加json站点解析 json格式如zzzia源 详细说明如XpathSiteRule

val json = getJson()
val rules = Gson().fromJson<List<XpathSiteRule>>(
    json, TypeToken.getParameterized(List::class.java, XpathSiteRule::class.java).type
)
val sites = ArrayList<Site>()
rules.forEach {
      sites.add(CustomXpathSite(it))
}
SiteCollection.getInstance().addSites(sites)
v2.59
将生成的epub指定为utf-8格式

v2.58
修复url merge规则bug
提高自定义书源目录解析速度

v2.57
修复了书源并部分转移至在线书源
修复了一些在线书源的小问题
添加了在线书源制作教程

v2.55
删除/增加了几个书源
修复在线解析规则不能去广告bug
暴露网络接口供自定义实现

v2.50
修复自定义书源问题
删除了dom4j依赖

v2.49
增加了自定义json站点规则,基于xpath

v2.48
增加了更多解析内容,能够解析小说简介了,同时保证了图片等内容的完整性
在调用目录解析后会自动把内容更新在book里

v2.47
完善demo的分段搜索,升级至Androidx
提高了爬虫稳定性

v2.46
支持了分段搜索,以站点为单位陆续返回结果
为所有解析添加了同步方法,但不建议在含有并发的操作中使用
提高了爬虫稳定性

v2.45
更新了分段下载,将并发下载逻辑单独封装,便于使用

v2.44
添加对起点中文网的排行解析,用于书城功能

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

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

Thanks

  • okHttp
  • epublib
  • jsoup
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].