yllhwa/RSSWorker

小红书源抓取的原文章链接有误

Opened this issue · 7 comments

比如这个源:https://rss-worker.jerry30yang.workers.dev/rss/xiaohongshu/user/5c8e6f18000000001200065f
https://www.xiaohongshu.com/user/profile/5c8e6f18000000001200065f/
里面抓取的文章link全都是笔记发布者的个人主页,而不是文章的链接
image

刚看了下,小红书现在不登陆不会返回笔记的链接,所以无法获取到。
在网页端直接点击也会提示“登录即可查看 Ta 的笔记”。
😭

刚看了下,小红书现在不登陆不会返回笔记的链接,所以无法获取到。 在网页端直接点击也会提示“登录即可查看 Ta 的笔记”。 😭

wok,怪不得😭最近就感觉小红书网页版好像有改动。没事,跳到个人主页也行,也就多点击一次😂

这个可以修复吗

这个可以修复吗

建议可以自己手动给小红书文章源加个guid,我用的阅读器Qi Reader是根据guid(如果源没有提供,就根据文章link)来判断文章是否重复。
像最近RSSWorker抓取到的文章link全都是文章发布者的个人主页,所以前几天我的阅读器一直不推送新文章。昨天我用文章的封面链接作为guid,就恢复正常更新了。
PS:不过要截取封面链接的末尾作为guid,因为链接前半部分含有时间格式,会一直变化。最开始我就是用完整封面链接当id的,结果一直重复抓取,早上醒来给我抓了5000+文章😂后面改成guid: noteCard.cover.infoList.pop().url.slice(-57) 或许也可以尝试用文章标题当id,但有些小红书作者的文章标题全都一样,或者干脆就没标题

请问小红书笔记的guid是链接的哪一段呀,我实在是琢磨不出来,网上搜索guid格式都是“E3011528-6B04-EB39-4D05-12663006B9FD”这类的,小红书笔记链接里没有发现这个格式QAQ,还是说需要自己为笔记生成guid呢?

请问小红书笔记的guid是链接的哪一段呀,我实在是琢磨不出来,网上搜索guid格式都是“E3011528-6B04-EB39-4D05-12663006B9FD”这类的,小红书笔记链接里没有发现这个格式QAQ,还是说需要自己为笔记生成guid呢?

guid是用来作唯一的标识符,主要就是给RSS订阅器判断文章是不是新的。可以自定义的,一般是用文章链接,但是小红书现在必须要登陆才能获取到链接。考虑封面链接目前还能获取到,所以我截取了其中可以当标识符的一段作为guid。
我的修改方案是,在自己fork的RSSWorker仓库的/src/lib/xiaohongshu/user.js的53行后面添加一行(修改保存后记得重新部署!!):
guid: noteCard.cover.infoList.pop().url.slice(-51), // 取链接的最后51个字符
不过当笔记作者修改了某篇已发布笔记的封面之后,这篇笔记会再推送一次。我感觉这个小问题不太影响观感,其他的都很正常。
bjsumiry wyw

PS:为什么用最后51个字符:
3ohn3l4s 4de

谢谢XD,我刚改完user.js还没重新部署,订阅那边就猛猛在弹红书的订阅了吓鼠