技術書典16でChatGPT本を出します!(ここをクリック)

PythonでScrapboxにデイリーメモを送信する

Q.PythonでScapboxに送れますか?

A.簡易的に送れたからメモを共有する

目次

プログラム

import webbrowser
import datetime

# 日付・時刻取得
today = datetime.date.today()
now_time = datetime.datetime.now().time()

## プロジェクト設定
project = "saro-lifelog"
title = today.strftime("%Y-%m-%d")

## 文章入力
main_text = input("入力してください:")

# ブラウザを開く
browser_path = "C:\Program Files\Google\Chrome\Application\chrome.exe"
url = f"https://scrapbox.io/{project}/{title}?body={main_text}"
browser = webbrowser.get('"C:\Program Files\Google\Chrome\Application\chrome.exe" %s')
browser.open(url)

仕様説明

「テキストメモを送信してブラウザでScrapboxのサイトを開く」とメモが作成します。

projectに関しては切り替えとかしない場合は、直接打ってもいいかもしれません。

datetimeで今日の日付を取得してURLにタイトルとして流し込み、今日の出来事を書いていきます。

新規ページを自動で作成・追記も自動でしてくれるので、その辺の設定は必要ありません。

inputで入力した文章をbodyに流し、ブラウザを開くことでメモが送信されます。

必要に応じてGUIやテキストファイルなどで送信できるようにしてみてください。

<注意点>
この時プロジェクトにログインしているブラウザにすること。
私は面倒なのでChromeの該当アカウントのプロファイルで起動しています。
逆に言うと、ログインしてなかったりプロファイルが別の人だと失敗するので注意。
本格的にやる場合、SeleniumなりCookie情報が必要になると思われます。

余談

改行を入れる

Scrapboxは\nではなく%0A改行します。

そのため改行したいところに%0Aを入れるか、後述するプログラムで\n%0Aに変換すれば大丈夫です。

ハッシュタグを付ける

こちらも#ではなくて%23に変換することで可能になります。

main_text = body_text.replace("\n", "%0A").replace("#", "%23")

このように、replaceで改行と一緒に変換すると楽かもしれません。

参考サイト

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次