はてなブックマークのAPIを利用して 非公開 でブックマークする方法をご説明します。
2. OAuthのトークンを発行する。(個人用のスクリプトなら「パーソナルアクセストークン」推奨)
ブックマークを 非公開 にするには、APIのリクエストボディに private フィールドを 1 に設定します。
エンドポイント:
POST https://bookmark.hatenaapis.com/rest/1/my/bookmark
リクエストボディ(JSON): { "url": "https://anond.hatelabo.jp/xxxxxxx", "comment": "自動ブックマーク", "private": 1 }
以下のコードを実行すれば、10分以内の匿名ダイアリー記事をランダムに 非公開 でブックマークできます。
import feedparser import requests import random import time from datetime import datetime, timezone, timedelta # はてなAPIの認証情報 HATENA_API_KEY = "あなたのAPIキー" HATENA_USERNAME = "あなたのはてなID" # はてな匿名ダイアリーのRSS URL RSS_URL = "https://anond.hatelabo.jp/rss" # 10分以内の投稿を取得 def get_recent_entries(): feed = feedparser.parse(RSS_URL) recent_entries = [] now = datetime.now(timezone.utc) for entry in feed.entries: published_time = datetime(*entry.published_parsed[:6], tzinfo=timezone.utc) if (now - published_time) < timedelta(minutes=10): recent_entries.append(entry.link) return recent_entries # はてなブックマークに非公開で追加 def bookmark_entry(entry_url): url = "https://bookmark.hatenaapis.com/rest/1/my/bookmark" headers = { "Authorization": f"Bearer {HATENA_API_KEY}", "Content-Type": "application/json" } payload = { "url": entry_url, "comment": "自動ブックマーク", "private": 1 # 非公開設定 } response = requests.post(url, json=payload, headers=headers) return response.status_code # メイン処理 while True: entries = get_recent_entries() if entries: entry = random.choice(entries) status = bookmark_entry(entry) print(f"非公開ブックマーク: {entry}, ステータス: {status}") time.sleep(600) # 10分ごとに実行
• 実行環境: Python 3.x が必要。requests と feedparser をインストール (pip install requests feedparser)
• 実行間隔: time.sleep(600) で10分ごとに実行
• API制限: はてなAPIにはリクエスト制限があるため、短時間で大量に実行しないように注意
• OAuth認証: APIキーだけでなく、OAuthトークンを使うほうがより安全
このスクリプトを実行すれば、最新の匿名ダイアリー投稿を10分以内のものからランダムに選び、非公開でブックマークする ことができます。
モチベーションは何? 荒らし?
逆。botは合法だと運営が認めてるなら、こっちも使ってもいいよね、という理屈 みんなで使ったら流石に最終的にはbot禁止にしてくれるかなと思って botは荒らし行為でないなら、みんな...
よくわかってないけど、APIを非公開にさせたいってこと? 適切に利用してる人はいないのかなーと うざいbotは嫌だけどね あまりにもひどいようならそうなるんだろうけど
なんになるの?
せっかくbotでブクマするならちょうど1年前の今日のエントリをブクマしたほうがおもろくない?