# legado阅读订阅源 **Repository Path**: liangyouyi/reading-source ## Basic Information - **Project Name**: legado阅读订阅源 - **Description**: 基于阅读,写的订阅源模板 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2022-07-01 - **Last Updated**: 2026-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # legado阅读多功能订阅源模板
📖 这是一个订阅源内容规则模板,专为「legado阅读」App 打造的高效内容提取工具,支持智能提取网页中的图片、视频、图文内容,并支持自动分页加载、多视频源切换等功能,大幅提升阅读体验。
--- ## 📋 简介 这是一个功能强大的 legado阅读订阅源模板,支持**简版**和**完整版**两种版本(完整版未测试)。能够智能提取网页中的**图片**、**视频**、**图文内容**,并支持自动分页加载、多视频源切换等功能,大幅提升阅读体验。 ## ✨ 核心特性 ### 🎯 基础功能 - ✅ **智能内容提取** - 自动识别并提取图片、视频、图文内容 - ✅ **多格式支持** - 支持 HTML、JSON 等多种数据格式 - ✅ **分页加载** - 支持自动分页和手动翻页两种模式 - ✅ **懒加载处理** - 智能处理图片懒加载属性 ### 🚀 高级功能 - ✅ **多视频源支持** - 智能去重、命名,支持多集切换 - ✅ **异步加载** - 支持等待动态加载的内容 - ✅ **URL 拼接** - 支持网址列表模式和 URL 拼接模式 - ✅ **缓存优化** - 内置请求缓存机制,提升加载速度 - ✅ **错误重试** - 自动重试机制,提高稳定性 ### 🎨 用户体验 - ✅ **响应式设计** - 完美适配阅读3.0 - ✅ **图片查看器** - 集成 Viewer.js,支持图片缩放、轮播 - ✅ **调试信息** - 提供详细的调试输出,方便排查问题 - ✅ **实时反馈** - 加载状态、错误信息实时显示 ## 🔧 配置参数 ### 内容选择器配置 ```javascript imgSelector: '.item-image img, .photos figure img, article img, .pic_box img' contentSelector: '.fiction-body, #content, .content1' videoSelector: '.playlist.wbox.ffm3U8>li a, .playlist.wbox.lzm3U8>li a, ...' videoNameSelector: '.playlist.wbox.ffm3U8>li a[title], #play_2 li a, .item div' debugSelector: '.list.photo-items div,.fiction-body,script' ``` ### 分页配置 ```javascript // 网址拼接模式 totalPagesText: '{{@@.pagination@li.-2@a@textNodes||.pager@a.-2@textNodes##\n.*}}' pageUrlText: '{urlPrefix}p{i}.aspx' urlSuffixToRemove: /\.aspx$/ // 目录列表模式 listMode: true initialUrls: `{{@@.chapter-container@a@href}}` initialUrlsName: `{{@@.chapter-container@a@div@text}}` sourceUrl: '' ``` ### 性能配置 ```javascript delayTime: 10000 // 网页最大加载时间 (毫秒) waitTime: 3000 // 网页重试等待时间 (毫秒) nextImageDelay: 200 // 下一张图片加载延迟 (毫秒) maxLoadAttempts: 3 // 最大加载尝试次数 imageLoadTimeout: 5000 // 图片加载超时时间 (毫秒) autoLoading: false // true 自动模式,false 单页模式 reverseOrder: false // true 倒序,false 正序 ``` ### 高级配置 ```javascript waitForAsyncContent: false // 是否启用异步加载 asyncSelector: '.pic_box img' // 异步加载等待目标 swapImageAttributes: true // 是否交换图片属性(解决懒加载问题) defaultPageIndex: 0 // 默认起始页索引 ``` ## 📦 使用方法 ### 1. 导入订阅源 1. 打开 legado阅读 App 2. 进入「订阅源」页面 3. 编辑模式,复制所有html内容到内容规则里面。 ### 2. 自定义配置 根据目标网站的结构,修改相应的选择器配置: ```javascript // 示例:修改图片选择器 config.imgSelector = '.article-content img' // 示例:修改视频选择器 config.videoSelector = 'video source, .video-player iframe' // 示例:启用自动加载 config.autoLoading = true ``` ### 3. 调试与优化 - 点击「显/隐调试」按钮查看原始 HTML 内容 - 根据调试信息调整选择器配置 - 测试不同页面的加载效果 ## 🎬 视频功能说明 ### 支持多种方式获取视频 ### 视频源管理 - 自动去重:智能识别并去除重复视频源 - 自动命名:无名称视频自动编号(视频 1, 视频 2...) - 多集切换:支持电视剧、动漫等多集内容 - 顺序控制:支持正序/倒序排列 ## 🖼️ 图片功能说明 ### 支持的懒加载属性(通过属性值对换的方式,把想要的图片地址赋值给src) ```javascript data-original-src, data-lazy-src, data-original data-src, data-url, data-srcset, data-lazy data-lazyload, data-lazy-image, data-bg data-background, data-actualsrc, data-realsrc ``` ### 图片加载特性 - 顺序加载:确保上一张图片加载完成后再加载下一张 - 超时保护:自动跳过超时图片,避免卡顿 - 错误重试:加载失败自动记录,不影响后续图片 - 查看器集成:支持缩放、旋转、全屏查看 ## 🔍 工作原理 ### 内容处理流程 ``` 1. 加载页面 → 2. 解析数据 → 3. 提取资源 → 4. 渲染输出 ↓ ↓ ↓ ↓ AJAX 请求 HTML/JSON 图片/视频/文本 DOM 更新 ``` ### 视频提取策略 **方法 1**: DOM 元素提取 - 通过 `videoSelector` 查找视频元素 - 提取 src、href、value 等属性 - 配合 `videoNameSelector` 获取视频名称 **方法 2**: 正则表达式匹配 - 使用多种正则模式匹配视频 URL - 支持引号、HTML 属性、标签内 URL - 自动过滤广告视频 ### 缓存机制 - **请求缓存**: 最多缓存 100 个页面,5 分钟过期 - **自动清理**: 定期清理过期缓存,保持内存占用 - **智能判断**: 优先使用缓存,减少网络请求 ## 💡 使用技巧 ### 提升加载速度 ```javascript // 启用自动加载(适合小说连载) config.autoLoading = true // 缩短等待时间 config.delayTime = 5000 // 减少自动加载间隔 config.waitTime = 1500 // 减少重试等待 ``` ### 优化图片加载 ```javascript // 禁用图片属性交换(如果网站无懒加载) config.swapImageAttributes = false // 增加图片超时时间(网络较慢时) config.imageLoadTimeout = 10000 ``` ### 调试技巧 - 开启「显/隐调试」查看原始数据 - 开启「显/隐信息」查看详细日志 - 使用单页模式逐页排查问题 ## ⚠️ 注意事项 1. **选择器优先级**: 多个选择器用 `,` 分隔,从左到右依次匹配 2. **跨域限制**: 部分网站可能因 CORS 限制无法直接访问 3. **动态内容**: 对于 JavaScript 动态加载的内容,需启用 `waitForAsyncContent` 4. **视频兼容性**: 某些特殊格式的视频可能需要外部播放器 5. **内存占用**: 自动加载模式下,大量图片可能占用较多内存 ## 🛠️ 故障排除 ### 常见问题 **Q: 图片无法显示?** A: 检查 `imgSelector` 是否正确,确认网站是否使用懒加载 **Q: 视频无法播放?** A: 检查视频格式是否支持,确认视频地址是否有效 **Q: 分页加载失败?** A: 检查 `totalPagesText` 提取的页码是否正确 **Q: 内容显示不完整?** A: 调整 `contentSelector`,确保选中正确的内容区域 ### 调试模式 ```javascript // 在浏览器控制台执行 console.log('当前配置:', config) console.log('已加载 URLs:', urls) console.log('视频源列表:', videoSources) ``` ## 📝 更新日志 ### V20260316 - ✨ 优化视频提取逻辑,新增多种正则匹配模式 - 🐛 修复图片懒加载属性识别问题 - 🚀 改进缓存机制,提升加载速度 - 🎨 优化界面布局,减小间距更紧凑 - 📖 完善错误处理和重试机制 ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! - 报告 Bug:请提供详细的复现步骤和截图 - 功能建议:请说明使用场景和预期效果 - 代码贡献:请保持代码风格一致,添加必要注释 ## 📄 开源协议 MIT License ## 🔗 相关链接 - [legado阅读官方仓库](https://github.com/gedoor/legado) - [legado阅读文档](https://www.yuque.com/legado/wiki) - [Viewer.js 图片查看器](https://github.com/fengyuanchen/viewerjs) - [jQuery 官方文档](https://jquery.com/) ## 👨‍💻 开发者 基于 legado阅读订阅源模板开发 ---
**如果觉得有用,欢迎 ⭐ Star 支持!** Made with ❤️ by legado Community