# 添加自定义书源
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
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 中讨论相关方案