所以我正在尝试为我运行的一个小型 subreddit 编写一个可执行的 JAR。
我有一个帖子,Jsoup 连接并读取该页面上的所有 URL。在另一种方法中,它然后连接到所有这些 URL(只是对帖子的评论)并从评论中获取 HTML 并将它们保存到 HashMap。
这很好,但是我收到了 429 HTTP 错误。所以为了解决这个问题,我添加了一个短暂的 5 秒等待。现在我得到一个SocketTimeoutException
“读取超时”。一旦我将时间降低到 3 秒,我就在两者之间弹跳。
现在我用 Python 运行了一些 Reddit 机器人,我能够发出比我在这里做的更多的请求。我实际上有一个机器人每分钟发出数千个请求。所以我知道可以提出这些要求。
我的问题本质上是,我如何能够向 Reddit 发出多个请求并避免 429 HTTP 错误?我正在使用 Jsoup 连接和读取 HTML。
虽然我确定通过连接到 Reddit。他们的 OAuth2 API 将解决问题,我不知道如何在 Java 中实际使用 OAuth2(我实际上在 Python 中使用了一个包装器,所以公平地说我根本不知道)而且我不知道如何使用与 Jsoup。