Skip to content

Latest commit

 

History

History
96 lines (72 loc) · 5.3 KB

高级功能.md

File metadata and controls

96 lines (72 loc) · 5.3 KB

高级功能

对特殊应用场景&配置项进行详细说明

重要提示

升级/重装软件前请先导出数据, 否则已备份数据会丢失

升级/重装软件前请先导出数据, 否则已备份数据会丢失

升级/重装软件前请先导出数据, 否则已备份数据会丢失

升级软件前务必先导出数据

特殊场景处理方案

微博数量巨大(1 万条以上)

  1. 多台机器分别备份, 每台机器只备份一定页码(例如一共 1000 页微博, 10 台机器, 第一台机器备份 0100 页, 第二台机器备份 101200 页, etc)
    1. 备份时, 勾选[高级选项]开发调试中, 跳过输出pdf 选项, 避免渲染 pdf 消耗时间
  2. 数据备份完成后, 点击管理数据, 点选账号后导出微博记录
  3. 在一台机器上, 点击管理数据, 导入其他机器中备份的数据
    1. 管理数据tab
  4. 再次执行一次备份过程
    1. 备份时, 在[高级选项]开发调试配置表中
      1. 启动跳过抓取 选项, 跳过抓取过程(数据库中已有数据, 不需要再抓取)
      2. 关闭跳过输出pdf选项(pdf 还是需要的)
  5. 完成

增量备份

  1. 如果已经进行过一次全量备份, 只希望将用户最近 n 条微博同步到数据库中, 则备份范围填写第 0~(n/10) 页即可实现增量更新效果.
  2. 备份范围中, 微博页码为倒序, 第 0 页指用户最后发布的前 10 条微博, 第 1 页指用户最后发布的第 11~20 条微博, 以此类推

加快导出速度

  1. [高级选项]开发调试
    1. 勾选跳过抓取, 可以跳过抓取数据的过程
    2. 勾选跳过输出pdf, 可以跳过输出为 pdf 的过程
  2. 勾选后, 点击同步用户信息, 在预估耗时中可以看到执行备份的预估耗时时间

终止抓取/输出

  1. 直接关闭应用程序即可. 其他操作见上节加快导出速度

配置项说明

备份配置

  1. 备份页数
    1. 微博页码为倒序
    2. 页码总数 = 微博总数 / 10
    3. 第 0 页指用户最后发布的前 10 条微博,
    4. 第 1 页指用户最后发布的第 11~20 条微博
    5. 第 2 页指用户最后发布的第 21~30 条微博, 以此类推
  2. 可以通过设定备份页数, 确认备份范围.
  3. 除首次备份外, 其他时候一般只需要备份前 10 页即可, 可以加快备份速度

高级选项-开发调试

  1. 跳过抓取
    1. 跳过对微博数据抓取流程, 直接从本地数据库中获取数据, 导出微博电子书
  2. 跳过输出 pdf
    1. pdf 文件输出时需要执行以下流程, 速度较慢, 关闭该选项可以加快输出速度, 方便调试/加快输出. 关闭后只会输出微博网页版备份
      1. 将每一条微博输出为一张 html 文件
      2. 使用内置浏览器打开该文件
      3. 将浏览器内容截屏为图片
      4. 将所有图片添加到 pdf 文件内
  3. 生成 pdf 时重新渲染
    1. 由于生成 pdf 需要先将每条微博渲染为图片, 时间较慢(1s/条). 因此默认启用缓存逻辑. 在渲染微博图片之前先进行判断, 若微博之前被渲染过, 则会利用已经渲染好的图片, 以加快生成速度.
    2. 如果旧渲染图片有误, 可以直接删除缓存中的该张图片, 届时会重新生成对应条目的微博图片
    3. 勾选此项后重新输出时会将过往缓存全部删除, 不建议勾选

高级选项-输出规则

  1. 只导出原创微博
    1. 输出时只导出用户原创微博, 不导出转发的微博
  2. 只导出微博文章
  3. 微博排序
    1. 按微博发布时间进行排序. 精确度为. 同一天内的微博, 可能会出现乱序情况
  4. 图片配置
    1. 输出的电子书内是否包含图片. 建议选择有图模式
  5. 时间范围
    1. 只输出用户在指定时间范围内发表的微博.
  6. 电子书拆分规则
    1. 每年/月/x 条微博 输出为一本电子书 或不进行拆分, 将所有微博输出为一本电子书.
    2. 选项目的是为解决电子书体积过大问题. 如果单本电子书内微博总数超出配置值, 将会分为多卷输出
    3. 单本电子书中, 微博数量不能超过 5000 条, 超过则会强制自动拆分(由于 Node.js 本身限制, 超过 5000 条后, 容易由于内存溢出导致在输出阶段程序 crash 退出. 理论上添加--max-old-space-size=8192命令可以解决该问题, 但根据实测情况, 该选项在编译后并没有效果)
    4. 默认不进行拆分

数据导入导出

  1. 管理数据tab 栏中, 可以看到本地数据库中当前已缓存的用户账号列表, 点击账号后, 可以查看具体微博.
  2. 点击账号后, 可以导出该用户的微博记录. 如果点击账号后且选择了具体日期, 可以导出该用户在日期内的微博记录.
  3. 导入微博时, 执行的是替换操作. 对每一条导入的微博内容, 如果数据库中没有记录, 则添加进数据库, 如果有, 则使用导入内容替换当前数据库中已有内容.
  4. 导出的微博数据为 json 格式, 使用VS Code 即可打开查看