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="...")
第二阶段:复核
- 结合知识库与真实 HTML 分析结果编写规则
- 校验 CSS 选择器、提取类型、正则表达式格式
- 处理特殊情形(如无封面图、懒加载、信息合并等)
存疑时,请向用户确认,切勿自行猜测。
第三阶段:创建书源
- 准备完整 JSON,确保所有必填字段均已填写
- 调用
edit_book_source(complete_source="完整JSON") - 输出标准 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 次)
热门AI工具
相关专题
Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。
0
2026.10.28
Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。
0
2026.10.28
Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。
0
2026.10.28
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.6万人学习
共6课时 | 54.7万人学习