Hexo 腾讯视频追剧页插件:hexo-tengxun-eucalyptus 安装使用

Hexo 腾讯视频追剧页插件:hexo-tengxun-eucalyptus 安装使用
Eucalyptus一款 Hexo 通用插件,自动同步腾讯视频「加追」和「预约」列表,生成卡片网格追剧页。不绑定 anzhiyu 主题,任何 Hexo 博客都能用。
最终效果
Demo:https://blog.eucalyptus.cc/zhuijus/
核心能力:
- 账号同步:拉取腾讯视频「加追」和「预约」列表,自动按集数进度分组
- 手动清单:不想绑账号也能手动填 cid 维护清单
- 卡片网格:竖版海报墙 + tabs 切换 + 搜索过滤
- 智能增量:集数没变的剧跳过详情接口,大幅缩短同步时间
- Cookie 降级:登录态过期时自动用上一次缓存按标记重分组,页面不崩
安装
方式一:从 npm(推荐,稳定版)
1 | npm install hexo-tengxun-eucalyptus |
方式二:从 GitHub(跟随最新 master,适合想改源码的同学)
1 | npm install git+https://github.com/ShiningStarLi/hexo-tengxun-eucalyptus.git |
Hexo ≥ 5.0 自动识别插件,无需额外注册。
配置(可选)
在站点 _config.yml 里加一段 zhuiju_vqq:,所有字段都有默认值,不配也能用:
1 | zhuiju_vqq: |
两种运行模式
A. 账号同步(推荐)
在浏览器登录腾讯视频(https://v.qq.com)后:
- 打开 DevTools → Console
- 执行
copy(document.cookie)— 整串 cookie 已复制到剪贴板 - 粘贴到博客项目根目录,保存为
.vqq-cookie(无扩展名)
然后跑同步命令:
1 | npx hexo zhuiju -u |
脚本自动调三个接口:
| 接口 | 鉴权 | 用途 |
|---|---|---|
getAlbumList |
需要 Cookie | 「加追」列表(scene=1)+ 「预约」列表(scene=2) |
float_vinfo2 |
无 | 单部剧详情:标题/封面/年份/题材/主演/集数 |
GetGradeDetail |
无 | 评分、评分人数、好评率 |
Cookie 通常一到两个月过期,过期时脚本会自动用上一次缓存兜底,页面照常显示,只是不会更新数据。什么时候想更新了,重新 copy(document.cookie) 覆盖 .vqq-cookie 再跑一遍就行。
B. 手动清单
不想用账号同步的话,在 source/_data/zhuiju_src.json 里手动填:
1 | { |
cid 就是腾讯视频 URL https://v.qq.com/x/cover/<cid>.html 里那串字母数字。之后同样跑 npx hexo zhuiju -u。
构建部署
1 | # 1. 同步数据(A 模式需要 Cookie,B 模式需要 zhuiju_src.json) |
构建后访问 https://你的域名/zhuijus/ 就能看到追剧页。
文件结构
1 | 项目根目录/ |
实现细节(源码阅读)
下面是插件内部的一些设计思路,对想二次开发的同学有用。
1. 并发抓详情
原脚本串行 for...of + sleep(250ms),27 部剧 × 2 个接口 ≈ 14 秒。
改成每批 5 个并发(Promise.all + chunk 分组),因为详情接口和评分接口都是无鉴权的,腾讯不会限流。耗时从 14s 降到 2-3s。
2. 智能增量更新
列表接口返回的 mark_label_list[].prime_text 已经告诉我当前集数了。和上次缓存对比一下,没变的剧直接沿用旧数据,跳过详情+评分接口。
实测效果:27 部里通常只有 3-5 部在更新,剩下 22 部全跳过 → 跑一轮 3-5 秒。
3. Cookie 过期自动降级
catch 到 ret=15006(登录态失效)不退出,而是读上次缓存 zhuijus.json,重新按 autoGroup 分组写回去,再跑 hexo generate。页面照常显示。
封面缩略分流
腾讯 vcover CDN 的缩略后缀横版竖版不通用:
| CDN | /0 原图 | /220 | /498 |
|---|---|---|---|
| vt-pic(竖版海报) | 1.17 MB | 55 KB ✅ | ✅ |
| hz-pic(横版海报) | 366 KB | 400 ❌ | 42 KB ✅ |
所以插件里按 URL 分流:
1 | // vt-pic 用 /220,hz-pic 用 /498 |
腾讯 CDN 不支持 AVIF 参数(imageView2、imageMogr2 都无响应),想转 AVIF 得自己下载 → 转码 → 传 CDN,收益不大。
主题适配
插件生成的页面用独立的 <style> 标签包裹,不污染主题样式。主色调默认跟随 Hexo 主题变量 var(--anzhiyu-main, #3db4f2) —— anzhiyu 用户直接用,其他主题如果没这个变量会 fallback 到蓝色 #3db4f2,或者在 _config.yml 的 zhuiju_vqq.primary_color 里硬指定一个。
UI 设计参考
| 参考项目 | 说明 | 链接 |
|---|---|---|
| Hexo AniList | 卡片网格 + tabs + 搜索 + 评分徽章,本次追剧页的主要参考 | https://ajratnam.github.io/hexo-anilist/customization.html |
| hexo-bilibili-bangumi | anzhiyu 主题自带的 B 站追番页,同款卡片布局 | 主题内置 /bangumis/ |
仓库
- npm:https://www.npmjs.com/package/hexo-tengxun-eucalyptus
- GitHub:https://github.com/ShiningStarLi/hexo-tengxun-eucalyptus
有问题可以在文章下面留言。








