言·旅·此

指南 入门

脚本说明:获取豆瓣数据

fetch-douban.ts 是一个用于从豆瓣同步用户数据(电影、书籍、音乐)到本地项目的脚本。它支持通过 RSS Feed 或自定义 API 获取数据,并会自动下载封面图到本地。

功能特性

  • 多源支持
    • RSS Feed:默认方式,无需额外配置,通过解析豆瓣公开的 RSS 获取最近动态。
    • 自定义 API:支持对接如 douban-worker.js 或其他开源豆瓣 API 方案。
  • 自动下载封面:将远程图片下载到 public/douban 目录,避免因防盗链导致的图片无法显示。
  • 本地存储:将处理后的数据保存为 JSON 文件,方便在 Astro 页面中直接引用。
  • 配置集成:自动从 src/config.ts 中读取 userId

使用方法

在终端中运行以下命令:

# 使用 RSS Feed 获取数据(默认)
pnpm fetch-douban

# 使用自定义 API 获取数据
pnpm fetch-douban --api

工作原理

  1. 读取配置:从 src/config.ts 获取豆瓣用户 ID。
  2. 获取数据
    • 如果使用 RSS,则请求 https://www.douban.com/feed/people/{userId}/interests
    • 如果使用 API,则请求配置的 API_BASE_URL
  3. 处理条目
    • 解析每个条目的标题、链接、评分和评论。
    • 识别条目类型(电影、书籍或音乐)。
  4. 下载图片:将封面图下载至 public/douban/,并重命名为基于条目 ID 的文件名。
  5. 保存文件
    • 电影数据保存至 src/data/douban-movies.json
    • 书籍数据保存至 src/data/douban-books.json

相关配置

  • API 地址:在脚本内的 API_BASE_URL 变量中配置。
  • 存储路径
    • 图片:public/douban/
    • 数据:src/data/