Reddit 的 JSON API 是否有未记录的人为限制来防止抓取?

发布于 2024-12-22 11:34:43 字数 464 浏览 1 评论 0原文

JSON API 返回的结果与浏览器返回的结果截然不同。

将此 URL 放入浏览器中并查看结果,然后使用 API Kitchen、Curl、Mechanize 等进行尝试

http://www.reddit.com/r/guitar/new/.json?limit=100

您使用浏览器获得 100 个结果。使用非浏览器方法检索它会得到 1-2 个结果。

这是一个错误,还是有意设计来限制网络爬虫从 Reddit 收集的内容?在较大的子版块上,它会产生令人难以置信的不一致结果,并且“after”参数对于分页来说不准确,从而导致大量重复结果。

然而,我找不到任何文档表明这是故意的而不是错误。如果有限制,那很酷,我只想知道它们是什么,这样我就可以在我的代码中正确尊重它们。

It would appear that the JSON API returns very different results than the browser.

Put this URL in your browser and look at the results, then try it with API Kitchen, Curl, Mechanize, etc

http://www.reddit.com/r/guitar/new/.json?limit=100

You get 100 results with the browser. Using the non-browser methods of retrieving it gets you 1-2 results.

Is this a bug, or intentional design to limit what web crawlers gather from Reddit? On larger subreddits, it makes for incredibly inconsistent results, and the "after" parameter is inaccurate then for paging, resulting in a ton of duplicate results.

Yet, I can't find any documentation indicating that this is intentional and not a bug. If there are limits, that's cool, I just want to know what they are so I can respect them properly in my code.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文