Giter Site home page Giter Site logo

chilfish / weibo-archiver Goto Github PK

View Code? Open in Web Editor NEW
204.0 3.0 6.0 9.35 MB

将微博导出备份的油猴脚本,为号被完全夹没前未雨绸缪 😭

Home Page: https://weibo.chilfish.top

License: Apache License 2.0

Vue 41.35% TypeScript 48.81% CSS 1.64% JavaScript 8.00% Batchfile 0.20%
archiver backup tampermonkey violentmonkey vue weibo

weibo-archiver's Introduction

logo
wakatime GitHub Repo stars GitHub Downloads beta build

Weibo-archiver

将你的新浪微博回忆归档,为号被完全夹没前未雨绸缪 😭

封面 功能展示 设置页

使用方式

需要浏览器装有 TampermonkeyViolentmonkey 插件。

安装至油猴脚本:weibo-archiver.user.js(如果下载缓慢可用境内加速的 镜像地址)。在用户个人主页(必须是通过点击头像来进入)刷新后将自动启动脚本,点击开始后将开始获取数据。支持断点续传,可恢复到上次的进度。

更多操作细节可见 使用教程

Important

该项目还在锐意开发中,可能会有很多不稳定的 bug 等,欢迎大家提 issues 或发起讨论😇
有关项目的进展路线等,可见 项目的 Todo 部分

如果想体验预览版,在 actions 中会自动构建每次提交的 beta 版本

注意事项 | 声明

该工具仅能获取公开可见的微博,对于那些仅半年可见之外的、仅粉丝(自己)可见的等,若不是自己的微博,将无法获取。

  • 完全免费,使用 Apache 2.0 协议开源,不会有任何收费行为。但如果要二次创作或者引用,需要注明出处和署名,不得修改协议或是去除版权声明,详见 LICENSE😇

  • 为了减轻微博服务器的压力,或是避免一些不必要的麻烦,请尽量在比较人少的时间段使用

  • 若微博账号被封,但访问自己的主页微博,也能获取备份。也就是 只要能看得见,就能存档

  • 关于在线预览页面。上传的微博数据完全保存在你的浏览器本地,你和别人都 无法通过链接来直接查看这些微博数据。但如果你想分享给其他人查看,可以将 weibo-data.json 发送给他们,并按提示导入即可,同时再设置里将图片链接设为远程 CDN 链接,或是填上你的图床地址

  • 评论区:获取时,将默认同时获取前 6 条热评,总数不超过 20 条。这是为了避免频繁调用接口,而可能会导致的不明问题。暂时也不支持楼中楼

  • 媒体文件:只能获取图片,将以图片链接文件的形式导出,需要同时使用压缩包里的 download.mjs 脚本下载好之后,才能在预览页面中可见。这是为了能够离线预览,同时也是为了防止某天图片突然被夹没了😅。并且由于视频文件可能会过大、过长,将采用外链的形式来呈现。

  • 不过可以将下载后的图片上传到你自己的图床服务器里,注意不要改变文件目录,再在预览页面的设置中填写你的图床链接即可

对开发者

项目采用 monorepo 的结构,使用 pnpm 管理,因此需要先安装 pnpm:npm i -g pnpm

在 packages 目录下:

  • /core 包含了工具函数、数据处理的核心
  • /ui 包含 UI 部分的组件代码
  • /shared 不含 vue 的共用 lib 库

在 apps 目录下,为最终的应用

  • /web 是用于最终查看微博数据的网页,目前托管在 vercel
  • /monkey 用于打包成油猴脚本
  • /cli Nodejs 命令行版本

只需要在根目录中 pnpm i 即为所有子项目安转依赖,pnpm dev:monkey 对应的是在 /monkey 中的 pnpm dev

而如果只需要开发或打包 web 端,可以运行 pnpm install:web,这将只安装 web 端的依赖,届时再运行 pnpm dev:web 即可。至于运行打包后的结果,由于是静态的资源,可以直接用 nginx 服务,或是运行 pnpx serve .\.output\public\ 来查看

直接部署到 vercel 前,需要先去 vercel 的项目设置中将 Root Directory 设为 apps/web,才能正确识别项目并构建

有关项目的进展路线等,可见 项目的 Todo 部分

鸣谢

赞助

如果你觉得这个项目对你有帮助,可以考虑赞助v我😇这将给我更多的动力来维护这个项目:赞助地址

weibo-archiver's People

Contributors

chilfish avatar geekrainy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

weibo-archiver's Issues

数据量过大时,会卡死

Discussed in #37

Originally posted by copymonopoly March 24, 2024
检索到10000条,只下载了1500多条卡住不动了,怎么办

版本:v0.3.7

[web]: 怪异的 UI 溢出

Bug 描述

如图,忘记考虑很多溢出的情况了……

Screenshot_2024-03-06-02-11-21-476_mark via

复现步骤

No response

脚本版本

No response

浏览器版本

No response

错误信息

No response

附加截图

No response

修改导入其他项目保存的json文件后多图无法正常显示

Bug 描述

导入带格式或不带格式的json,该有的key具备,多图无法正常显示,其他信息都显示正常。

请问只有用插件生成的图片才能用默认的CDN吗?

复现步骤

用隔壁项目保存的json文件,格式是像这样的,有空格和换行:
截屏2024-05-29 04 28 17

导入的那个json, 该有的所有 key 都改好了,uid, name, imgs... 删除不同的key,取消换行并删除空格也没用。

导入后,多图无法显示,单图显示正常。

根据Network判断,可能是css把多条图片链接处理为一个链接了?而单图就没这个问题。

但是我看脚本生成的json的文件也是用逗号隔开的呀...

刚刚又试了生成无格式的json,没有换行也没有空格,就是和插件生成的格式一模一样的,导入后多图还法显示。

请问应该怎么做呢?

脚本版本

v0.4.0

浏览器版本

Chrome 125.0.6422.77(正式版本) (arm64)

错误信息

如下图

附加截图

截屏2024-05-29 04 05 15 截屏2024-05-29 04 52 52

热评获取失败

奇怪的机制:is_show_bulletin=2 配合上 flow=0 才能获取热评,但是在某个时间之前微博是没法按热评排序的,所以要么找出这个时间点来特判,要么看看微博自己是怎么解决的

Originally posted by @Chilfish in #17 (comment)

文本解析不对、带图评论判断错误

Bug 描述

  • 文字中的外链多了个 https 头
  • 如果评论带外链,会没经判断转到带图评论去了
{
	"comments": [
      	{
        	"created_at": "Wed Feb 21 13:27:09 +0800 2024",
	        "id": "5003845633836905",
	        "img": "https://weibo.cn/sinaurl?u=https://github.com/orgs/community/discussions/109171",
      	}
	]
}

复现步骤

No response

脚本版本

v0.3.1

浏览器版本

No response

错误信息

No response

附加截图

No response

[monkey]: 默认折叠菜单

Bug 描述

感觉应该让这个窗口可以折叠起来,不然有些太碍眼了

复现步骤

No response

脚本版本

No response

浏览器版本

No response

错误信息

No response

附加截图

No response

当追加导出最近几天的微博后,再导入,提示导入成功,但是却看不到。

Bug 描述

微博界面上,追加获取最近两天的微博,然后也得到了json和csv,在本地浏览界面导入,导入的时候用合并的方式,然后导入那两个文件,提示导入成功,57条。然而在本地浏览界面,还是刷不到最近两天的,在日期选择那里选择了起始和终止日期为具体的最近两日,结果为空。

复现步骤

先对一个微博全部获取。得到xx.json和xx.csv。导入到本地界面。
等两天,对同样的微博,获取日期选择最近两天的具体日期,等待获取完毕,得到xx(1).json和xx(1).csv。
然后在本地浏览界面点击导入,选择xx(1).json。等待提示导入完成。
然后刷新本地界面。

脚本版本

?

浏览器版本

Edge

错误信息

No response

附加截图

No response

想请教问题

项目很好用,感谢付出。
我在使用中遇到几个问题,比如https://weibo.com/u/1304194202,我获取日期输入2023-05-31至2023-12-15 只能获取2023-07-07至2023-12-15的66条微博,而2023-06-01至2023-07-07之间还有微博没有获取到。
于是我再次获取2023-05-31至2023-07-07之间的微博,并用合并命令合并,将2023-05-31至2023-07-07的imgs.csv中的内容复制到2023-07-07至2023-12-15的imgs.csv里。再次运行下载图片命令后并不能下载2023-05-31至2023-07-07这期间的图片。

更改导出的格式,并导出关注列表

导出的 post.user 实在是过于重复了,应该抽出到根节点上的。这样就算添加新的数据时,改起来也就更方便了

{
  "user": {},
  "weibo": [],
}

如果把关注的人也爬取出来在预览页展示就更好了

Originally posted by @p0we7 in #41

项目 Todo

这是该项目的代办

  • 修复预览页的一堆 bug(如图片查看、分页等)
  • 更换到 naiveui
  • 优化项目结构 #8
  • 打包到桌面端,暂时先用 Electron😅
    • 初始化 electron 的项目结构 #9
    • Sqlite3 数据库 #14
    • 桌面端对应的 UI、原型开发
  • 支持设置自定义图床链接 #25
  • 导出和导入相关的数据 #27
  • 将 web 预览页改为在线平台,部署到 vercel #27
  • 将 web 端迁移到 Nuxt #30
  • 更好的搜索微博 #33
  • 按时间来搜索微博 cfda7f9, 3d9d430
  • 多用户支持 #36
  • 支持视频、文章
  • 我的收藏
  • 简单的楼中楼评论

目前可能将在 v0.5.0 左右发布桌面端版本,支持 Windows 和 MacOS,敬请期待😇

对于一个完全不懂编程的小白还有救吗?

看不懂作者在说什么呜呜,进度条走完,为什么点导出没有反应啊,作者大大

另外导出完之后要怎么做才能实现真正备份啊,你写的后面那些不知道该怎么操作,我恨我自己😭

分页的切换逻辑不对

Bug 描述

应该是判断的顺序问题,https://weibo.chilfish.top/p/2?pageSize=20#O2vJhCzZi 会先跳到 /p/0 然后被修正成 /p/1 ,而不是真的直接跳到对应的 url

复现步骤

No response

脚本版本

v0.3.0

浏览器版本

No response

错误信息

No response

附加截图

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.