云网络琥珀主题插图
// HERO · 云网络琥珀主题插图

Cloudflare Worker 实战:给豆瓣数据做一个自己的同步服务

F face 273 字 · 约 1 分钟 0 条评论 运维部署

博客的「书影音」页面数据来自一个部署在 Cloudflare Worker 上的豆瓣同步服务,本文记录部署与踩坑。

#为什么需要它

豆瓣没有公开 API,个人标记数据想在自己的站点展示,需要解决两个问题:

  1. 数据获取——带着登录态请求豆瓣页面并解析
  2. 图片防盗链——豆瓣图片直接外链会被拦截

Worker 方案用 KV/R2 做了这两件事:定时同步标记数据,封面转存到 R2。

#部署

bash
git clone https://github.com/bigfa/douban-cf-worker
cd douban-cf-worker
npx wrangler deploy

配置 DOUBAN_COOKIE 与 TOKEN 后,访问 /init 触发首次同步:

bash
curl -H "Authorization: Bearer <TOKEN>"   "https://your-worker.example.com/init?paged=0&type=movie&status=done"

#前端接入要点

  • 列表接口 /list?type=&status=&paged= 无需鉴权,服务端拉取后缓存一小时
  • 封面优先用 R2 缓存域,404 时回落 worker 域(触发转存),再不行显示生成式封面
  • worker 冷启动单请求可达数秒,务必做 stale-while-revalidate,别让访客等同步

云网络琥珀主题插图

整套链路零服务器、零数据库(R2/KV 白嫖额度内),个人站点够用了。

本文链接:/post/cf-worker-douban-sync/ · 转载请注明出处 · 原文由 Typecho 驱动

//评论 0

还没有评论,来说两句吧~

$ 发表评论 visitor@cf-worker-douban-sync

// 相关阅读