Legado Book Source Developer

Polar Sponsor
爱发电 赞助
.NET 9.0

Legado(阅读)安卓书源开发技能:创建小说/漫画网站书源,调试现有书源规则,查询 Leg...

Legado Book source开发者.

功能概述

Legado Book source开发者.是一项面向实际任务的技能,主要用于A 用于创建,调试,管理 Legado book source 源的工具包. 包含分析工具,真实的书源实例,以及从 Legado sou 建立的知识库.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Legado 书源开发者工具包

一套用于创建、调试与管理 Legado 书源的开发工具集。包含 HTML 结构分析工具、真实书源示例,以及基于 Legado 源码构建的知识库。

快速上手

1. 检测编码 → 2. 获取真实 HTML → 3. 查询知识库 → 4. 分析结构 → 5. 创建书源

所有规则应基于对真实 HTML 的实际分析得出,而非主观假设。

使用范围

本能力专为开发用户自有或已获授权访问的网站书源而设计。所含工具(URL 分析、HTML 抓取、书源上传)仅可在用户明确授权的目标站点上使用。严禁将这些工具用于未授权爬取、绕过访问控制或未经许可获取内容。

工具

知识库查询

工具 用途
search_knowledge(query) 在知识库中搜索
get_css_selector_rules() CSS 选择器参考(分页)
get_real_book_source_examples(limit) 真实书源分析结果
get_book_source_templates(limit) 经验证的书源模板
read_file_paginated(path, page) 分页读取大文件
list_all_knowledge_files() 列出全部知识库文件

HTML 分析

工具 用途
smart_fetch_html(url, method, body, headers, charset) 支持编码识别的 HTML 抓取
smart_web_analyzer(html) 整页结构分析
smart_bookinfo_analyzer(html) 图书信息页分析
smart_toc_analyzer(html) 目录页分析
smart_content_analyzer(html) 正文页分析

书源管理

工具 用途
edit_book_source(complete_source="JSON") 创建/编辑书源
validate_book_source.py 校验书源 JSON(位于 tools/ 目录下)

分析脚本(位于 tools/ 目录下)

脚本 依赖 用途
analyze_url.py requests, bs4 网站分析(编码 + 结构 + 搜索 API)
analyze_url.sh curl 网站分析(无需 Python)
quick_analyze.py requests, bs4 快速分析,自动保存 HTML
js_param_analyzer.py requests, bs4 JS 参数/端点分析
validate_book_source.py — 书源 JSON 校验(无依赖)
upload_book_source.py requests 将书源上传至公开图床(默认:tu.406np.xyz),生成可分享的直链

不使用 Python?请参阅 references/no_python_workflow.md,了解如何通过主机 MCP 工具(浏览器、HTTP、代码执行)完成工作流。

三阶段工作流

第一阶段:信息收集

步骤 1:查询知识库

search_knowledge("CSS选择器格式 提取类型 @text @html @href @src")
get_real_book_source_examples(limit=5)
get_book_source_templates(limit=3)

步骤 2:检测编码(仅需在起始时执行一次)

detect_charset(url="http://example.com")
  • UTF-8 → 可省略 charset(默认编码)
  • GBK/GB2312 → 所有请求中需添加 "charset":"gbk"

步骤 3:获取真实 HTML

smart_fetch_html(url="http://example.com/search", charset="gbk")
smart_fetch_html(url="http://example.com/search", method="POST",
                 body="keyword={{key}}&t=1", charset="gbk")

步骤 4:分析结构

smart_web_analyzer(html="...")
smart_bookinfo_analyzer(html="...")
smart_toc_analyzer(html="...")
smart_content_analyzer(html="...")

第二阶段:复核

  1. 结合知识库与真实 HTML 分析结果编写规则
  2. 校验 CSS 选择器、提取类型、正则表达式格式
  3. 处理特殊情形(如无封面图、懒加载、信息合并等)

存疑时,请向用户确认,切勿自行猜测。

第三阶段:创建书源

  1. 准备完整 JSON,确保所有必填字段均已填写
  2. 调用 edit_book_source(complete_source="完整JSON")
  3. 输出标准 JSON 数组格式(不含注释、不含代码块)

规则字符串格式

CSS选择器@提取类型##正则表达式##替换内容

提取类型:

  • @text — 文本内容(含子节点)
  • @ownText — 元素自身文本(不含子节点)
  • @html — HTML 结构
  • @textNode — 纯文本节点
  • @href — 链接 URL
  • @src — 图片资源地址
  • @js — JavaScript 处理逻辑

数字索引:

  • .0 表示首个元素,.-1 表示末尾元素(注意:非 :first-child / :last-child)

文本匹配:

  • text.关键词(不可使用 :contains())

常见模式

带封面的标准列表:

{"bookList": ".book-list .item", "name": ".title@text", "bookUrl": "a@href", "coverUrl": "img@src"}

搜索页无封面:

{"coverUrl": ""}

懒加载图片:

{"coverUrl": "img@data-original||img@src"}

nextContentUrl 规则:若章节编号变化 → 必须设置;若仅为页码变化 → 留空。

已知限制

不支持的字段(Legado 书源中不存在):

  • prevContentUrl 字段不存在
  • 不支持伪类 :contains()(请改用 text.关键词)
  • 不支持伪类 :first-child / :last-child(请改用 .0 / .-1)

推荐实践:

  • 规则应基于真实 HTML 分析,而非经验推测
  • 编写规则前,优先查询知识库
  • 编码检测仅需在流程起始时执行一次

必填字段:详见 references/legado_data_structures.md,该文档完整列出了 BookSource.kt、SearchRule.kt、TocRule.kt、ContentRule.kt、BookInfoRule.kt 中定义的数据结构规范。

参考资料

文件 内容
references/legado_development_guide.md 工作流、HTML 模式、编码处理、正则表达式、故障排查
references/legado_data_structures.md 源码分析:数据结构、规则引擎、数据库 Schema
references/Legado书源开发完整指南.md 全面的开发指南
references/用户交互指南.md 常见场景下的交互流程
references/方法-JS扩展类.md JavaScript API 文档
references/Legado书源编码处理指南.md 编码处理指南
references/knowledge_base/book_sources/ 真实书源分析(Markdown 格式)
references/book_source_database/book_sources/ 书源数据库(JSON 格式)

高频使用模式(来自真实书源统计)

CSS 选择器: img(40 次), h1(30 次), div(13 次), content(12 次), intro(11 次), h3(9 次)

提取类型: @href(81 次), @text(72 次), src(60 次), @html(33 次), @js(25 次)

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习