# 添加自定义书源

TIP

目前不支持从网络或者从配置文件加载书源,可通过修改源代码来添加书源

一个书源由以下几部分构成:

  • BookInfo书籍信息匹配:在书籍信息页面中的获取书名、作者名、章节目录以及对应章节的页面链接,有需要的话还有封面图片链接和简介
  • Chapter小说章节匹配:在章节页面得到每个段落的内容
  • Search搜索结果匹配:获取该站站内搜索结果的每条结果,以及结果内的书名、书籍信息链接、作者名
  • Tag书源标签:可能的话,还需要填写书源的Tag,例如:是否正版、是否带分卷信息、是否是优质书源

# 通过修改源代码添加书源

# 添加包

定义一个 Package,示例:https://github.com/ma6254/FictionDown/blob/master/sites/shumil_co/main.go

# 加入到导入列表中

https://github.com/ma6254/FictionDown/blob/master/sites/imports.go

package sites

import (
	"reflect"
	"runtime"

	"github.com/ma6254/FictionDown/site"
	"github.com/ma6254/FictionDown/sites/biquge5200_cc"
	"github.com/ma6254/FictionDown/sites/booktxt_net"
	"github.com/ma6254/FictionDown/sites/new81"
	"github.com/ma6254/FictionDown/sites/qidian"
	"github.com/ma6254/FictionDown/sites/shumil_co"
	"github.com/ma6254/FictionDown/sites/wanbentxt"
)

type siteFunc func() site.SiteA

func addSiteFunc(fn siteFunc) {
	s := fn()
	s.File = runtime.FuncForPC(reflect.ValueOf(fn).Pointer()).Name()
	site.AddSite(s)
}

func InitSites() {
	addSiteFunc(qidian.Site)
	addSiteFunc(wanbentxt.Site)
	addSiteFunc(shumil_co.Site)
	addSiteFunc(new81.Site)
	addSiteFunc(booktxt_net.Site)
	addSiteFunc(biquge5200_cc.Site)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

# 通过配置文件添加书源

TIP

未支持,可在 Issue:https://github.com/ma6254/FictionDown/issues/9 中讨论相关方案