ludoux / ngapost2md

艾泽拉斯国家地理论坛/NGA玩家社区/NGA单帖爬虫/牛国安一键存贴,不怕冲水
MIT License
97 stars 10 forks source link

在保存倒序帖子时存在问题 #87

Open RichardGuyNotFavMHY opened 5 months ago

RichardGuyNotFavMHY commented 5 months ago

在保存倒序帖子时存在问题 帖子 36052034 无法正常保存

ludoux commented 5 months ago

我还没有具体看代码和报错,但是我想问问你预期的 操作结果 是啥。这种倒序帖子就没有办法根据楼层来进行增量更新。你是希望按照倒序的方式仅一次下载(比如下载指定的页区间),后续也不需要支持增量更新么。

RichardGuyNotFavMHY commented 5 months ago

好的,我的预期结果是能够按照倒序进行增量更新(即使文件里是正序增量+倒着的楼层号也没关系)。如果实在不行您可以标记为won't fix(TLDR 只要内容能保持增量更新,不关心形式)。 我有问题的文件在这,您可查阅。 post.md

ludoux commented 5 months ago

好的,我明白了。我看了一下附件的文件是基本乱掉的情况,这个我后面看一下有没有办法识别是倒序帖子 + 拿到末端页号,然后以旧的在前、新的在后的顺序来单次输出。

但是我估计应该没法做到增量更新,因为目前是以上次的页号来作为增量更新的识别信息。这种倒序的假如真的要做到,只能说保存层号,然后用大致确定页范围+遍历查找到精确页来实现,这个就要看我有没有精力做了😂

RichardGuyNotFavMHY commented 5 months ago

好的,谢谢您。 另外,迟来的的新年快乐。您的项目正在发挥巨大的作用,您的项目提供了NGA这个论坛上某些地方信史的查询办法,感谢您的付出。

RichardGuyNotFavMHY commented 5 months ago

补充一些信息:目前第一次拉取帖子时,楼层是能正常保存的。但是当达到下载页限制的100楼后,再拉取的内容就出现了异常,会直接判断为已经拉取足够的层数然后结束运行。 因此,目前的一个快捷修复方案就是将下载页面限制设置由原来的1-100页提高到一个其他值(例如1-65535页)。 这样,在仅拉取一次的情况下程序能保持正确的楼层结构。

ludoux commented 1 month ago

考虑到倒序帖子的增量更新是一个难题,目前来看只能保存末尾的楼层id,增量更新的时候遍历页面病找到此末尾楼层,然后继续增量。但这样给服务器造成的负担较重,

补充一些信息:目前第一次拉取帖子时,楼层是能正常保存的。但是当达到下载页限制的100楼后,再拉取的内容就出现了异常,会直接判断为已经拉取足够的层数然后结束运行。 因此,目前的一个快捷修复方案就是将下载页面限制设置由原来的1-100页提高到一个其他值(例如1-65535页)。 这样,在仅拉取一次的情况下程序能保持正确的楼层结构。

同理,此方法对服务器的负担也较重。100 页上限就是为了限制单次拉取给服务器的负担。

即没有什么好方法(或者我还没有想到),这个功能在可见的未来不会实现。sorry