amtoaer / bili-sync

由 Rust & Tokio 驱动的哔哩哔哩同步工具
https://bili-sync.allwens.work
MIT License
498 stars 39 forks source link

默认收藏夹视频下载不全 #153

Closed lucienlmy closed 2 months ago

lucienlmy commented 2 months ago

Read_20240724_180003

让它一直运行,下载了一部分,但是我的默认收藏夹里面有二千多个,我允许了许多次还是只下载一百多个,程序就结束了

还有一个问题是配置文件里面的[favorite_list]排序是按什么方式来排的 image 这个位置的不同收藏夹的顺序我如果手动排好了,运行程序时都会打乱

amtoaer commented 2 months ago
  1. error sending request for url 说明请求没收到回复,建议优先排查本地网络问题(不排除 b 站自己发生网络波动);
  2. 现在程序启动会首先读取配置(失败时取默认值),接着将配置重新写回到文件。这样做主要是为了引入新配置项后将新配置项的默认值写入用户的配置,但缺点是配置文件的顺序、注释等信息会丢失。我个人感觉作用大于缺点所以选择这样实现了,不确定有没有必要修改。
lucienlmy commented 2 months ago
  1. error sending request for url 说明请求没收到回复,建议优先排查本地网络问题(不排除 b 站自己发生网络波动);
  2. 现在程序启动会首先读取配置(失败时取默认值),接着将配置重新写回到文件。这样做主要是为了引入新配置项后将新配置项的默认值写入用户的配置,但缺点是配置文件的顺序、注释等信息会丢失。我个人感觉作用大于缺点所以选择这样实现了,不确定有没有必要修改。

1,昨天,我后面又试了下运行,下载了一千多个视频后无法检测到我的账户了,今天再次尝试提示触发风控,停止下载,这个是下载次数太多触发了b站风控系统吗,解除是要等待吗。

2,刷新配置文件会打乱排序,那它默认是按什么规则排序的,还是随机的

3,收藏夹里面如果有视频之前已经用程序下载过,如果这个视频后面更新了弹幕,再次打开程序它会更新吗,还是说下载过的会跳过

amtoaer commented 2 months ago
  1. 是的,一般等待就可以;
  2. 整体字段是按定义顺序排序的,对于 favorite_list 和 collection_list 这类实现为 HashMap 的结构,应该会采用随机排布;
  3. 不会更新,程序将始终跳过下载成功的内容。
lucienlmy commented 2 months ago
  1. 是的,一般等待就可以;
  2. 整体字段是按定义顺序排序的,对于 favorite_list 和 collection_list 这类实现为 HashMap 的结构,应该会采用随机排布;
  3. 不会更新,程序将始终跳过下载成功的内容。

它的已经下载的记录是存在哪里的。如果要更新已经下载过的视频,是要先删除已经下载的视频,再取消收藏,运行一次程序,再收藏就行了吗

amtoaer commented 2 months ago

下载记录存在数据库里,详情请看文档的工作原理小节。

程序本体不打算支持更新逻辑,一定要更新的话可以自己把数据库中的 video 与 page 表的 status 全设置为 0,这样会触发一次全量的同步。但不推荐这样做,详情见我的回复。收藏夹里的视频只会越来越多,经常更新需要频繁的大量请求,全量更新实在不现实。

这个仓库是我工作之余开发的个人项目,因为精力有限并没有支持太多自定义功能。最近发现大家的需求千奇百怪,在 issue 中反复解释各种内部逻辑花费了太多时间。后面我会把这些常见的问题写到文档的 QA 里,如果你看完之后觉得项目不是很符合你的需求,可以优先看看有没有类似的项目。或者如果你觉得自己的需求比较普遍并且有动手能力,也欢迎提交 PR 贡献代码。

鉴于这个 issue 本身已经解决,我先把它关掉了,感谢你的理解。