├── LICENSE ├── README.md └── 书源 └── Bato.To.xbs /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Zander Alastor 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 香色闺阁书源制作教程 2 | 3 | 选的示范网站是bato.to,一个资源比较全,而且可以大陆直连的网站 4 | 5 | ## 新建站点 6 | 7 | 进入香色闺阁软件,点击左面的站点管理,点击更多,选择新建站点 8 | 9 | ![IMG_0400](https://s2.loli.net/2022/07/30/YqUvdtaelFrBM38.png) 10 | 11 | 这里我已经把基础内容填写完成了 12 | 13 | 大部分选项的含义和作用都是一目了然的,这里只挑几个重点讲一下 14 | 15 | “权重”:该站点在列表中排列的先后顺序,最大值9999,不过好几个源作者都喜欢标9999,而且xbs还加密(说的就是你益达源),总体上没什么用,你编辑站点的时候可以直接顶置,方便反复修改 16 | 17 | “httpheaders”:cookie装里面,有些站点可能要登入才能查看某些资源,cookie的获取方式可以直接百度 18 | 19 | 一个示例: 20 | 21 | ~~~json 22 | {"Cookie":"XXX","User-Agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/96.0.4664.110 Safari\/537.36"} 23 | ~~~ 24 | 25 | ## 常用配置部分 26 | 27 | ### 书籍搜索 28 | 29 | ![image-20220730192045418](https://s2.loli.net/2022/07/30/XOxZiJBAFLrRof1.png) 30 | 31 | 进入你的目标网站,搜索某个很常见的关键词,保证有多页结果,然后翻到比如第4页,记住上面的连接格式 32 | 33 | ~~~python 34 | https://bato.to/search?word=game&page=4 35 | 修改为下面这种格式: 36 | https://bato.to/search?word=%@keyWord&page=%@pageIndex 37 | ~~~ 38 | 39 | ![1C8AA354-54C3-4EE2-9ED0-A085B802F369](https://s2.loli.net/2022/07/30/Zkoj51MOUuVQICJ.png) 40 | 41 | 响应规则里面按照格式填写,具体的div,class之类的通过F12打开目标网页源文件查看 42 | 43 | ![image-20220730202800179](https://s2.loli.net/2022/07/30/YeM17KzHmXLWfQ8.png) 44 | 45 | #### 格式很简单 46 | 47 | ~~~txt 48 | // 用于定位类型 49 | / 用于表示下级关系 50 | () 用于括取,可以用(div[@id='xxx'])[3]表示并列的id为xxx的div格式的第四个(下标从零开始 51 | div, img 等对应
, 类型 52 | @ 用来定位class或者id 53 |
里面的src用@src获取 54 | ~~~ 55 | 56 | “更多配置”这一块,在制作小说源的时候要调一下编码为中文编码,我们这里是漫画,不用管文本编码 57 | 58 | ### 书籍详情 59 | 60 | ![5F6A9D76-4843-4FF0-B153-F0884CF9D2A0](https://s2.loli.net/2022/07/30/lEs7r3wLhyjcUOR.png) 61 | 62 | 详情这一块,接触文本会比较多一点,可能需要借助js格式化一些段落,或去除一些无用标记 63 | 64 | 这里举个例子,可以参考一下(去除多余的网页br格式) 65 | 66 | ~~~python 67 | //div[@id='limit-height-body-summary']/div[@class='limit-html'] || @js: 68 | let reg = new RegExp('
', 'g') 69 | return result.replace(reg, '') 70 | ~~~ 71 | 72 | ### 章节列表 73 | 74 | ![EC22DDB6-1AB6-4EAE-B05F-6A5461494560](https://s2.loli.net/2022/07/30/KhZ9uTxj2kXev5C.png) 75 | 76 | 这里的“下一级界面地址”要注意,可能会有坑 77 | 78 | 我这里的bato.to网站就遇到坑了 79 | 80 | ![image-20220730204224527](https://s2.loli.net/2022/07/30/mr9zC7Lxy1f4YTt.png) 81 | 82 | bato.to网站的章节链接不是完整URL,而是相对网站主域名的相对路径,直接使用就会 “ URL错误,没有URL编码? “ 这样报错 83 | 84 | 手动调整一下,保证是完整的URL传出: 85 | 86 | ~~~python 87 | //a[@class='visited chapt']/@href || @js: 88 | let url = 'http://bato.to' +result; 89 | return url; 90 | ~~~ 91 | 92 | ### 章节内容 93 | 94 | 章节内容就是我们最关键的漫画图片部分 95 | 96 | ![image-20220730205104233](https://s2.loli.net/2022/07/30/CfbIvNlGK7S2atZ.png) 97 | 98 | 使用“蓝色框框”中的元素检查工具,点击“绿色宽宽”中的也就是漫画图片部分,然后下方开发者工具就会跳转出来相应的源码部分 99 | 100 | 我们关注两个“红色框框”中的内容,src是我们漫画图片的直接地址,class用来定位这个部分,辅助我们得到src 101 | 102 | ![E5CCD377-48A2-4980-B302-DBF5145F965B](https://s2.loli.net/2022/07/30/kCZEAX1gI4sax5j.png) 103 | 104 | **这个网站还有个坑,漫画图片加载是js动态加载,直接爬取网页得不到图片** 105 | 106 | ![image-20220731124452719](https://s2.loli.net/2022/07/31/wRQzlZNgyHTPamv.png) 107 | 108 | 这里请求信息我们要加上webView 109 | 110 | (这类js加载的网站第一次打开漫画会比较慢,要加载完全部资源才会在软件上显示出页码) 111 | 112 | ~~~python 113 | 请求信息: 114 | @js: 115 | return {'url':result, 'webView':""}; 116 | ~~~ 117 | 118 | 之后正文部分还是一样的 119 | 120 | ~~~python 121 | 正文: 122 | //img[@class='page-img']/@src 123 | ~~~ 124 | 125 | 126 | 127 | ### 书籍分类 128 | 129 | 整体还是大同小异,不过这一部分要手动配置的内容比较多,我就直接上截图和代码了 130 | 131 | ![D954C400-EADD-46B4-8E78-AA5DA4BF18B4](https://s2.loli.net/2022/07/30/6hYiryc43BvSgQd.png) 132 | 133 | ~~~python 134 | 请求信息: 135 | @js: 136 | return 'https://bato.to/browse?genres=' + params.filters.genre1 + ',' + params.filters.genre2 + ',' + params.filters.genre3 + ',' + params.filters.genre4 + '&langs=' + params.filters.translated + '&origs=' + params.filters.original + '&release=' + params.filters.release + '&chapters=' + params.filters.chapters + '&sort=' + params.filters.sort + '&page=' + params.pageIndex; 137 | 138 | 更多配置-moreKeys:(全是标签) 139 | {"pageSize":60,"requestFilters":[{"items":[{"value":"","title":"All"},{"value":"artbook","title":"Artbook"},{"value":"cartoon","title":"Cartoon"},{"value":"comic","title":"Comic"},{"value":"doujinshi","title":"Doujinshi"} 140 | 。。。。。。 141 | {"value":"zombies","title":"Zombies"}],"key":"genre4"},{"items":[{"title":"All","value":""},{"title":"ar","value":"ar"},{"title":"en","value":"en"},{"title":"es","value":"es"},{"title":"pt","value":"pt"},{"title":"it","value":"it"},{"title":"pl","value":"pl"},{"title":"id","value":"id"}, 142 | 。。。。。。 143 | {"title":"Pending","value":"pending"},{"title":"Ongoing","value":"ongoing"},{"title":"Completed","value":"completed"},{"title":"Hiatus","value":"hiatus"},{"value":"50","title":"50+"},{"value":"10","title":"10+"},{"value":"1","title":"1+"}],"key":"chapters"},{"items": 144 | 。。。。。。 145 | {"value":"views_w.za","title":"7days"},{"value":"views_d.za","title":"24hours"},{"value":"views_h.za","title":"60minutes"}],"key":"sort"}]} 146 | ~~~ 147 | 148 | ## 更多配置 149 | 150 | 比如书单啊,广场啊,热词啥的,因为不是必须品,我这里就不继续写教程了 151 | 152 | 想做的话和上面的例子都是大同小异,按照格式制作即可 153 | 154 | ## Bato.to.xbs 155 | 156 | 还有不懂的地方可以下载这个样例xbs 157 | 158 | [xiangseguige/书源 at main · UFOAlastor/xiangseguige (github.com)](https://github.com/UFOAlastor/xiangseguige/tree/main/书源) 159 | 160 | -------------------------------------------------------------------------------- /书源/Bato.To.xbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UFOAlastor/xiangseguige/775a70a0858da9c92f8416dc88f6555665eb0217/书源/Bato.To.xbs --------------------------------------------------------------------------------