plugin/zhizhen/json结构分析.md
https://xiaomi666.fun/index.php/vod/search/wd/{关键词}.htmlhttps://xiaomi666.fun/index.php/vod/detail/id/{资源ID}.html.module-search-item)搜索结果页面包含多个搜索项,每个搜索项的HTML结构如下:
<div class="module-search-item">
<div class="module-item-pic">
</div>
<div class="video-info-header">
<h3>
<a href="/index.php/vod/detail/id/12345.html">资源标题</a>
</h3>
</div>
<div class="video-serial">更新至11集</div>
<div class="video-info-aux">
<span class="tag-link">
<a>分类1</a>
<a>分类2</a>
</span>
</div>
<div class="video-info-items">
<div>
<span class="video-info-itemtitle">导演:</span>
<a class="video-info-actor">导演名</a>
</div>
<div>
<span class="video-info-itemtitle">主演:</span>
<a class="video-info-actor">演员1</a>
<a class="video-info-actor">演员2</a>
</div>
<div>
<span class="video-info-itemtitle">剧情:</span>
<span class="video-info-item">剧情简介内容</span>
</div>
</div>
</div>
.module-row-one)详情页面包含下载链接区域,每个链接的HTML结构如下:
<div id="download-list">
<div class="module-row-one">
<button data-clipboard-text="https://pan.quark.cn/s/xxx">复制链接</button>
<a href="https://pan.quark.cn/s/xxx">打开链接</a>
</div>
</div>
| 源字段 | 目标字段 | 说明 |
|---|---|---|
| 详情页URL中的ID | UniqueID | 格式: zhizhen-{id} |
.video-info-header h3 a 文本 | Title | 资源标题 |
| 质量、导演、主演、剧情 | Content | 组合描述信息 |
.video-info-aux .tag-link a | Tags | 标签数组 |
详情页 #download-list 中的链接 | Links | 解析为Link数组 |
.module-item-pic > img 的 data-src | Images | 封面图片 |
"" | Channel | 插件搜索结果Channel为空 |
time.Time{} | Datetime | 使用零值 |
data-clipboard-text 属性: 优先从按钮的 data-clipboard-text 属性提取链接href 属性: 如果没有 data-clipboard-text,则从 <a> 标签的 href 属性提取通过正则表达式匹配URL来自动识别网盘类型,支持16种网盘类型:
// 主流网盘
quark: https://pan.quark.cn/s/...
baidu: https://pan.baidu.com/s/...?pwd=...
aliyun: https://aliyundrive.com/s/... 或 https://www.alipan.com/s/...
uc: https://drive.uc.cn/s/...
xunlei: https://pan.xunlei.com/s/...
// 运营商网盘
tianyi: https://cloud.189.cn/t/...
mobile: https://caiyun.feixin.10086.cn/...
// 专业网盘
115: https://115.com/s/...
weiyun: https://share.weiyun.com/...
lanzou: https://lanzou.com/... 或其他变体
jianguoyun: https://jianguoyun.com/p/...
123: https://123pan.com/s/...
pikpak: https://mypikpak.com/s/...
// 其他协议
magnet: magnet:?xt=urn:btih:...
ed2k: ed2k://|file|...|
从URL中提取 ?pwd= 参数作为密码,例如:
https://pan.baidu.com/s/1kOWHnazfGFe6wJ-tin2pNQ?pwd=b2s4
提取密码: b2s4
https://pan.baidu.com/s/{分享码}?pwd={密码}https://pan.quark.cn/s/{分享码}https://aliyundrive.com/s/{分享码}, https://www.alipan.com/s/{分享码}https://drive.uc.cn/s/{分享码}https://pan.xunlei.com/s/{分享码}https://cloud.189.cn/t/{分享码}https://caiyun.feixin.10086.cn/{分享码}https://115.com/s/{分享码}https://share.weiyun.com/{分享码}https://lanzou.com/{分享码}https://jianguoyun.com/{分享码}https://123pan.com/s/{分享码}https://mypikpak.com/s/{分享码}magnet:?xt=urn:btih:{hash}ed2k://|file|{filename}|{size}|{hash}|/searchURL := fmt.Sprintf("https://xiaomi666.fun/index.php/vod/search/wd/%s.html", url.QueryEscape(keyword))
detailURL := fmt.Sprintf("https://xiaomi666.fun/index.php/vod/detail/id/%s.html", itemID)
.module-search-item 元素result := model.SearchResult{
UniqueID: fmt.Sprintf("zhizhen-%s", itemID),
Title: title,
Content: strings.Join(contentParts, "\n"),
Links: detailLinks,
Tags: tags,
Images: images,
Channel: "", // 插件搜索结果Channel为空
Datetime: time.Time{}, // 使用零值
}
| 特性 | zhizhen | muou | 说明 |
|---|---|---|---|
| 域名 | xiaomi666.fun | 666.666291.xyz | 不同域名 |
| 数据格式 | HTML | HTML | 都是HTML格式 |
| HTML结构 | 相同 | 相同 | 使用相同的CSS选择器 |
| 并发数 | 20 | 20 | 相同 |
| 缓存TTL | 1小时 | 1小时 | 相同 |
javascript:、#等)?pwd= 参数作为密码