# 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