Legado(阅读)安卓书源开发技能:创建小说/漫画网站书源,调试现有书源规则,查询 Leg...
Legado Book source开发者.是一项面向实际任务的技能,主要用于A 用于创建,调试,管理 Legado book source 源的工具包. 包含分析工具,真实的书源实例,以及从 Legado sou 建立的知识库.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
一套用于创建、调试与管理 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() |
列出全部知识库文件 |
| 工具 | 用途 |
|---|---|
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")
"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="...")
存疑时,请向用户确认,切勿自行猜测。
edit_book_source(complete_source="完整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)推荐实践:
必填字段:详见 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 次)
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习