20251026

1037起,0214睡到0912,床上还是太舒服了。

venera的源编写文档没写哪些参数是必要的,当我实现new ComicDetails报晦涩不明的NULL错误时还要看源码才知道是tags = _generateMap(json["tags"])的问题。不知道有没有必要改它框架代码来加点NULL判断,或许我该多传点的,唉它明明是中国项目却文档全英文,Issue却充斥着中文,唉版权。

说实话,Venera 这框架的 JS 源系统确实设计得不错(有点像 Tachiyomi Extension 的理念),但 Dart 层没做太多类型兜底,导致错误栈经常“云里雾里”。

看到郭靖一人打全真教所有小辈,不敢想金轮法王年轻时是怎么爽过来的。

网站是懒加载 / JS 渲染,用 Network.getHtmlDocument(res.body) 只能拿到 初始 HTML,里面只是 <head>、占位 <img>、Meta 信息。

想获取图片得请求类似这样的网址https://jmanga.tel/json/chapter?mode=vertical&id=1766261,会获得类似这样的图片https://sv1.freeimgmg.online/files/7268/985376/1.jpg,想观看还得在头部使用"Referer": "https://jmanga.tel/",好麻烦。。

典型的反盗链 + 懒加载站点结构

问题是https://jmanga.tel/json/chapter?mode=vertical&id=1766261这个要怎么拿到,进入网站https://jmanga.tel/read/%E8%BB%A2%E7%94%9F%E3%81%97%E3%81%9F%E3%82%89%E6%9C%80%E5%BC%B7%E7%A8%AE%E3%81%9F%E3%81%A1%E3%81%8C%E4%BD%8F%E3%81%BE%E3%81%86%E5%B3%B6%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82%E3%81%93%E3%81%AE%E5%B3%B6%E3%81%A7%E3%82%B9%E3%83%AD%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%95%E3%82%92%E6%A5%BD%E3%81%97%E3%81%BF%E3%81%BE%E3%81%99/ja/chapter-36.1-raw/会通过js去进行Fetch/XHR,但我要怎么知道呢。

我也该多使用throw

基于venera解析jmanga算是给我写出来了,目前能看主页有的那几个最新的漫画,后续根据分类获取漫画估计也不会太难了。为了绕过上述它网站的反盗用了个很抽象的方法,先解析一次网页得到漫画具体章节的id,再通过id去固定的网页去请求一次json获取新的html,然后才能得到images,唉能用就好能用就好。今日先歇了。不得不说调试的过程实在是折磨,一边改代码一边去venera重新引入代码然后测试,因为要操作html完全没有提示必须仔细观看,生怕是因为class写错了导致的NULL错误,

1
2
3
4
5
6
7
8
9
            for (let li of liList) {
                let item = li.querySelector("a.item-link");
                if(href == item.attributes.href) {
                    // console.log(JSON.stringify(item.attributes, null, 2));
                    id = li.attributes["data-id"];
                    found = true;
                    break;
                }
            }

这里也是log了一下才发现问题,之前用item.attributes一直获取不到id急的我啊。

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计