Skip to content

Reddit OAuth API への切替(アンチボット壁回避) #14

Description

@pppp606

背景

2026-05-03 時点で Reddit のアンチボット防御が強化され、hacker_news_reddit_digest スキルから Playwright 経由でのアクセスが不安定になっている。

実機検証で確認した挙動:

サブレ www.reddit.com old.reddit.com
r/LocalLLaMA reCAPTCHA Enterprise の壁 1回目から 403 "blocked by network security" が出やすい
r/MachineLearning reCAPTCHA Enterprise の壁 200 OK(25件取得可)
r/artificial reCAPTCHA Enterprise の壁 200 OK(25件取得可)
  • www.reddit.com はアクセス時に js_challenge=1 経由で Google reCAPTCHA Enterprise にリダイレクトされ、Headless Chromium では突破不能
  • old.reddit.com / .json / .rss の直叩きは Reddit の 2023-06 API ポリシー変更以降、未認証だと網にかかる
  • 特に r/LocalLLaMA はサブレ単位の閾値が厳しく、頻繁に 403 を返す

暫定対応(別途実施済み)

  • スキルを old.reddit.com のみに変更(www.reddit.com を撤去)
  • これにより MachineLearning / artificial は当面継続して取得できるが、LocalLLaMA は不安定

本対応(このIssue)

Reddit 公式 OAuth API(script type アプリ)に切替えて全サブレを安定取得する。

やること

  • https://www.reddit.com/prefs/apps で script type アプリを作成
  • .envREDDIT_CLIENT_ID / REDDIT_CLIENT_SECRET / REDDIT_USERNAME / REDDIT_PASSWORD を追加(.env.example も更新)
  • アクセストークン取得 + https://oauth.reddit.com/r/<sub>/top?t=week 呼び出しの Node.js 実装を hacker_news_reddit_digest スキルに組み込む
  • User-Agent は Reddit 推奨形式(例: web:weekly_ai_dev:v1.2 (by /u/<user>)
  • レート制限: 無料枠 100 req/min(このdigest用途では週1回×3サブレで余裕)
  • 既存の old.reddit.com フォールバックパスを削除

参考

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions