Obsidianに外部データ(自分のWordPressブログ、Zenn、Google Keep)をマークダウンに変換して入れる方法(Python使用)

※ 当サイトではアフィリエイト広告を利用しています。リンクは広告リンクも含みます。

この記事は約17分で読めます。

Obsidianを使ってみようと思った理由は、あちこちに散らばったデータ(主に個人的ノウハウ)を探すのが大変だったからです。 Obsidianなら、必要な情報にすばやくアクセスできるのではないかと考えました。

この記事では、初めてObsidianを使う方向けの基本操作と、同期機能を使わずに既存データをマークダウンへ変換して取り込む方法を紹介します。 具体的には、WordPress(運営者向け)とGoogle KeepのデータをPythonでマークダウン形式に変換し、Obsidianへ保存する手順をまとめました。PythonコードはAIに書かせているので他のデータでも手法は流用できると思います。使ったプロンプトも紹介します。

まだ使い始めたばかりですが、現時点で感じているObsidianのメリットは、検索機能が非常に優れていることです。その点についても後半で触れます。

PythonコードはClaudeの無料チャットで作成しました。 AIに「このファイルをマークダウンに変換して」と直接依頼すると、ファイル内容をLLMに読み込ませてしまい、要約されたり、トークン消費が増えたり、大きなファイルだと抜け落ちたりと、さまざまな不具合が起きる可能性があるのでコードだけを作るように依頼しました。

ファイル形式の変換は、1対1で決まったルールに基づくコードを使うほうが確実です。 ファイルの生成経緯を説明すれば、AIは中身を読むのではなく、形式情報をもとに最適な変換コードを書いてくれます。 そのため、AIにコードを書いてもらい、自分のPCで実行する方式にしました。 ちなみに私は無料のAIしか使っていません。

マークダウン変換コードは、Pythonが実行できる環境が前提です。Python環境については以下を参考にしてください。

【Docker】Windows11でプログラミング環境構築(Python、Django、Vue)
パソコン買ったのでプログラミング環境を整えました。その様子です。Python、Django、Vueの環境を設定していきます。Docker導入でハマった点と解決策をご紹介します。追記(2023/11):最近、Docker DesktopがWi…

実際に、WordPressの記事を読み込んだ例です。
https://kikuichige.com/35418/の記事をObsidianに読み込んでpdfでエクスポート(Obsidianの機能)した最初の3ページです。
https://django6.kikuichige.com/gaiyou/obsidian_sample.pdf
(見出しのcssは色付けしてます。後述)
結構、しっかり読み込めてます。

広告
MINISFORUM日本公式ストア

Obsidianとは?

Obsidianは、Markdown形式でメモや文章を書けるアプリです。

特徴は、すべてのデータをローカルに保存できること。

つまり、Google DocsやNotionのようにクラウド依存ではなく、自分のPCの中にデータを保存します。

そのため、

  • 無料
  • 動作が軽い
  • オフラインでも使える
  • 自分でファイル管理できる
  • 全文検索ができる(個人的に気に入っているが、別にObsidianでなくてもVsコードなどでできる。)

というメリットがあります。

基本的な使い方はこちらのYoutubeがおすすめです。
見出しを色分けするcssも便利です。こちらのYoutubeのものを使わせていただきました。
(cssファイルを配置するのですが、必ず拡張子が.cssになるようにしないとうまくいきません。メモ帳を使う場合「ファイルの種類」を「すべて」にしてファイル名.cssにしてください。種類が「.txt」のままだとファイル名.css.txtファイルになってしまいます。)

Obsidianをインストールする

公式サイトへアクセス

まずはObsidianの公式サイトへアクセスします。

Windowsの場合

「Get Obsidian for Windows」→「Download for Windows」をクリックして、自分のOS版をダウンロードしてください。

Windowsでインストールする

ダウンロードした `.exe` ファイルを開きます。例”Obsidian-1.12.7.exe”

基本的には「次へ」を押していくだけでOKです。

インストールが終わると、Obsidianが起動します。

Vault(保管庫)を作る

Obsidianでは、ノート(メモ)を保存するフォルダのことを「Vault(ヴォルト)」と呼びます。

最初に起動すると、Vault作成画面が表示されます。

新しいVaultを作成

「Create new vault」(保管庫を新規作成する)をクリックします。

例えば以下のように設定します。

Vault名20260519Vault
保存場所 ドキュメント配下など

「Create」を押すと、Vaultが作成されます。
また、左下の保管庫名をクリック→「保管庫を管理で」をクリックで切り替えや新規作成ができます。

Obsidianの画面構成

主に使うのは以下です。

場所 内容
左サイドバー(リボン)クイックスイッチャーなどのボタン
左サイドバー ファイル一覧
中央 記事を書くエリア
上部 新規ノート作成など

最初の記事を書いてみる

新規ノートを作成

左上の「新規ノート」アイコンをクリックします。

ファイル名は本文の先頭行とリンクしており、拡張子は自動的に .md になります。 マークダウン記法を使わなくても普通のテキストとして保存できますが、AIと連携する場合はマークダウン記法を使ったほうが便利なようです。

Markdownで書いてみる

以下を入力してみましょう。

初めてのObsidianノート
こんにちは。

これはObsidianで書いた記事です。

## 見出し2

- リスト1

- リスト2

**太字**も使えます。

自動的に##、-、**などのマークダウン記法で書いたところはフォーカスが外れるとマークダウン形式に変換表示されます。カーソルをマークダウン記法の文字に持っていくとマークダウン記法表示に変わります。
また自動的に先頭行がファイル名になって「初めてのObsidianノート.md」という名前で保存されています。
Windowsエクスプローラーで「Create new vault」で作ったvaultの場所を見てみるとファイルが確認できます。

Markdownの基本だけ覚えよう

WordPress記事でよく使う記法だけ覚えれば十分です。

やりたいこと Markdown
見出し# 見出し
小見出し ## 小見出し
箇条書き– 項目
番号付き1. 項目
太字**文字**
コード“ `code` “

これだけでも、かなり快適に記事を書けます。

既存のWordPress記事をObsidianへ取り込む方法

ここでは、既存のWordPress記事をObsidianへ移行する方法を紹介します。WordPressを使っている人が対象です。
具体的にはWordPress標準のWordPress ExportでエクスポートしてPythonでマークダウン形式に変換します。

WordPress Export

WordPressにはエクスポート機能があります。

手順

1. WordPress管理画面を開く

2. 「ツール」→「エクスポート」

3. 「すべてのコンテンツ」を選択

4. XMLファイルをダウンロード

ダウンロードしたxmlファイルを以下のコードを実行してマークダウン形式に変換します。

コードは以下のプロンプトでClaudeの無料チャットで作りました。

プロンプト:「WordPress管理画面の 「ツール」→「エクスポート」で出力したxmlファイルをpythonを使ってobsidianで扱えるマークダウン形式に変換するコードを書いて」
修正依頼や自分で修正することもなく1発目の回答そのまま使ってます。
コードはhttps://github.com/miyamiko/obsidian_markdownのpython wp_to_obsidian.py

使い方:
pip install markdownify
(markdownify があると Markdown の変換品質が大幅に向上するようです。なくても動作します。)

python wp_to_obsidian.pyとダウンロードしたxmlファイル(wordpress-export.xml)を同じディレクトリにおいて
    python wp_to_obsidian.py <wordpress-export.xml> [出力先ディレクトリ]
例:python wp_to_obsidian.py WordPress.2026-05-19all2.xml
[出力先ディレクトリ]は省略するとobsidian_exportというディレクトリを作って、そこに出力します。

エラーの場合

今回、WordPressの記事で以下のような特殊文字を使ったのでエラーが出ました。
コードをClaudeに頼んで修正してもいいですが、個人的な経験でAIに特殊文字がらみの修正を依頼すると意図が伝わらず(AIが把握できない)、うまくいかないことが多いのでxmlファイルを修正しました。

このようなエラーが出た場合。
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 61908, column 424
エラー発生が発生してるxmlの行と文字位置を確認して、xmlを修正して再度やってみてください。

エラー周辺line 61908, column 423~を確認
【Ajax】のが変換できない文字だったので消した。
xmlファイルをなおした。
【Ajax】ローカルファイルを読み込もうとしたらCORSエラーが発生したので解決した
→【Ajax】ローカルファイルを読み込もうとしたらCORSエラーが発生したので解決した

ObsidianのVallt(保管庫)へ移動

postsディレクトリを使います。attachmentなどのディレクトリもできますが、中身を見て役に立たなそうだったら削除してください。(私は使ってません。)

WindowsエクスプローラーでVault(保管庫)へ展開されたpostsディレクトリを移動

Google KeepをObsidianへ取り込む方法

今度は、Google Keepのデータをマークダウン形式に変換する方法です。こちらもダウンロードしたものをPythonで変換します。

Google Takeoutを使う

大量のKeepメモを移行したい場合におすすめです。

Google Takeoutとは?

Googleデータをまとめてエクスポートできる機能です。

手順

1. Google Takeoutを開く

2. 「選択をすべて解除」をクリック

3. 「Google Keep」のみチェック

エクスポート先:ダウンロード リンクをメールで送信

頻度:1 回のエクスポート

ファイル形式::zip

ファイルサイズ:2GB

4. エクスポート作成

5. メールできたリンクからzipファイルをダウンロード

6.すべて展開

解凍すると、HTML形式やJSON形式でKeepメモが保存されています。

html→マークダウン(非推奨)

こちらのを使うより下のJSON→マークダウンのほうがおすすめです!
コードは以下のプロンプトでClaudeの無料チャットで作りました。
プロンプト:
1回目「htmlをマークダウンに変換するpythonコード」
2回目「あるフォルダに入っているhtmlを全部変換して別のフォルダに保存したい」
コードはhttps://github.com/miyamiko/obsidian_markdownのhtml_to_markdown.py と batch_convert.py

セットアップ

html_to_markdown.py と batch_convert.py を同じフォルダに置きます。

# 基本(htmlフォルダ → markdownフォルダ)
python batch_convert.py ./html_files ./markdown_files

# サブフォルダも含めて再帰的に変換
python batch_convert.py ./html_files ./markdown_files --recursive

# 文字コードを指定(Shift-JISのHTMLなど)
python batch_convert.py ./html_files ./markdown_files --encoding shift_jis

# .htmも対象にする
python batch_convert.py ./html_files ./markdown_files --ext .html .htm

WindowsエクスプローラーでVault(保管庫)へ展開されたmarkdown_filesディレクトリを移動

JSON→マークダウン

コードは以下のプロンプトでClaudeの無料チャットで作りました。
プロンプト:
1回目「googleキープのデータをGoogle Takeoutでzipでダウンロードして展開しました。htmlは先ほどのpythonコードでマークダウンにできました。今回はjsonファイルを同じようにマークダウンにしてほしい。」

2回目「エラーが出ました。エラーのファイルは飛ばして、飛ばしたことが分かるようにしてください。
[OK] Transformerのポイント.json → Transformerのポイント.md
[OK] VPS.json → vps\VPS.md
[OK] Vrew.json → その他\Vrew.md
Traceback (most recent call last):
OSError: [Errno 22] Invalid argument: ‘obsidian\Keep\VSCode\VSCode Tips\n\n・変換候補非表示\n—\n\n__ ✨ 候補を出さないようにする方法\n\n___ 1. インテリセンス自動表示をオフにする\n1. __設定.md’」

コードはhttps://github.com/miyamiko/obsidian_markdownのkeep_json_to_md.py

**標準ライブラリのみ**で動作します。`pip install` 不要です。

使い方

# 基本
python keep_json_to_md.py ./Takeout/Keep ./obsidian/Keep

# ゴミ箱のメモも含める
python keep_json_to_md.py ./Takeout/Keep ./obsidian/Keep --include-trashed

# アーカイブをスキップ
python keep_json_to_md.py ./Takeout/Keep ./obsidian/Keep --skip-archived

出力される構造

obsidian/Keep/
├── 買い物リスト.md        # ラベルなしのメモ
├── 仕事/                  # ラベル名のフォルダ
│   └── 会議メモ.md
├── アイデア/
│   └── プロジェクト案.md
├── _archived/             # アーカイブ済み
├── _trashed/              # ゴミ箱(--include-trashed 時のみ)
└── _attachments/          # 添付画像・ファイル

KeepメモをObsidianへ入れる

変換されたものをObsidianの保管庫へ移動。

jsonファイルからマークダウンへ変換したファイルの方がkeepに近い情報(添付資料とか)を保持できていると思うのでおすすめ。

Zenn

自分の書いたZennであればエクスポートできます。また、元々マークダウン形式なので、ダウンロードして「すべてを展開」で展開したら、そのままVaultに持っていけば使えます。
詳細は以下↓

Zennを始めてみた!
結構苦労して書いているので何とか収益化したくて始めました。Zenn|エンジニアのための情報共有コミュニティ記事を収益化できます。エンジニア系が対象なので一般的な内容での収益化はNoteが有名です。Zennの使い方は、まず使い方よりもよくある…

検索

Obsidianの検索は非常に強力です。

ノート内検索

開いてるノート内を対象に検索。
ショートカットキー:CTRL+F

ファイル名検索

ファイルを探すときファイル名で検索。
ショートカットキー:CTRL+o。
リボンのクイックスイッチャーでもok。CTRL+ファイル名クリックで別タグで開かれる。

全文検索(おすすめ!)

ノートの本文に含まれる単語・文章を横断的に検索できる方法。
左上の虫眼鏡(🔍アイコン)。
ショートカットキー:CTRL+シフト+F

AI連携は後回し

AI は GeminiCli が無料で、保管庫への読み書きもできるので便利だと思うので連携するとしたらGeminiCliを使おうと思います。
ただ、AI にファイルを直接いじらせて再起不能になるのは避けたいし、思った通りに動かないことも多いので、コードやテキストをコピペして AI チャットに貼り付ける運用のほうが安心だと感じています。

コード生成や文章要約、ドラフト作成、修正のような処理は Python だけではできませんが、ファイル操作や文字置換のような作業は、AI に Python コードを書かせて自分で実行するほうが、処理内容を確認できて、不具合が起きたときの原因特定も AI に丸投げするより効率が良い気がします。

Gemini CLI をWindowsで使ってみた!
本記事では、Windows 環境で Gemini CLI を使ってみた体験をベースに、インストール方法から実行例までを紹介していきます。Node.jsをインストールしてある状態なら簡単にインストールできます。あと必要なのはGoogleアカウ…

AI連携したとしてもNotebookLMのような使い方になると思いますが、ソースが巨大だとあまり使い物にならないような気がしてます。

GeminiのDeep Researchは本当に使えるのか?ブログのアクセス数履歴を分析してもらった!
Googleの新しいAIツール「Gemini」(2.5Flash)のDeep Research機能は、果たしてブログ運営に役立つのか——。今回、私が運営する「イチゲブログ」のアクセス履歴データを使って、Geminiに本格的な分析を依頼してみ…
NotebookLM実践的活用法:ブログのチャットボットに利用!
「ブログに関する質問を、AIが即座に答えてくれたら便利なのに…」 そんな思いから、GoogleのAIツール「NotebookLM」を使って、イチゲブログ専用のチャットボットを作ってみました。(やったことは、全ブログ記事を少し工夫して登録した…

今のところAI連携よりも、まずはObsidianの魅力が何なのかを理解したいと思っています。ノートの書き方やリンクの活用方法など、運用ルールをしっかり整えていくつもりです。Obsidianがどんなツールなのかを把握した上で、AI連携を検討する方が良いと感じています。

スナップレイアウトを使ってObsidianとGeminiCliを並べて使う方法

しかし、ちょっとだけ連携して使ってみた。ここの章の内容の材料を記述したファイル(2026-05-25.md)をおきGeminiCliで書かせてみました。Obsidianでプラグインを使ってGeminiCliを表示するのではなく、Windows11標準のスナップレイアウトで横並びで表示させるのが目的です。GEMINI.md に関しては私がよくpython使うのでちょっと特殊です。(どっちかというとGeminiCliがメインで、あまりObsidianを使う意味はない気がしますが)
プロンプト:
@2026-05-25.md
を元にObsidianでスナップレイアウトを使ってGeminiCliを使う方法をまとめて、

結果は「ObsidianでGeminiCliを使う方法.md」というファイルができた。
↓↓↓この章のここから下は、できたファイルの中身を貼り付けた↓↓

Obsidianでの執筆や管理をGeminiCliで効率化するためのセットアップ手順です。

画面レイアウトの設定(スナップレイアウト)

Windows 11のスナップレイアウト機能を使用して、Obsidianとターミナル(PowerShell)を最適な比率で並べます。

  1. アプリの起動: ObsidianとPowerShellをそれぞれ立ち上げておきます。
  2. レイアウトの起動: Obsidianを選択した状態で Windowsキー + Z を押します。
  3. 配置の選択: 表示されるレイアウト候補から「4番(左側が広いタイプ)」の左側をクリックします。
    • これにより、画面の左側約2/3がObsidianになります。
  4. 右側の選択: 画面右側に表示されるアプリ候補からPowerShellを選択します。

これにより、左側でメモを確認・編集しながら、右側でGeminiCliへの命令を実行できる環境が整います。

GeminiCliの準備と設定

各Vault(ディレクトリ)ごとにGeminiCliの挙動を制御するための設定ファイルを配置します。

  1. 設定ファイルの配置: 対象とするVaultのルートディレクトリに GEMINI.md(または gemini.md)を配置します。
    • このファイルには、GeminiCliが守るべき「掟(ガイドライン)」を記述します(例:パッケージ管理には uv を使う、型ヒントを義務化するなど)。
  2. ディレクトリの移動: PowerShellで、対象のVaultディレクトリへ移動します。
    • 例: cd C:\Users\user\Documents\obsidian\my_vault
  3. GeminiCliの起動: コマンドラインで geminicli(gemini) を実行します。

GEMINI.md の役割

GEMINI.md は、GeminiCliがそのディレクトリで作業する際の内容を規定する「ルールブック」として機能します。

  • 開発品質の維持: コードの書き方、型ヒントの有無、1行の長さなどのスタイルを統一させます。
  • ツールの指定: pip ではなく uv を使うなど、特定のワークフローを強制できます。
  • コミットメッセージの制御: AIが作成したことを隠す(co-authored-by を書かない)などの、プロジェクト固有のGit運用ルールを反映させます。

このファイルを置いておくことで、GeminiCliは常にプロジェクトの文脈やルールを理解した状態でアシストを行えるようになります。

所感

既存データを入れただけでは、全文検索以外のメリットはまだ感じにくいですが、 WordPressとKeepを横断検索できるようになったのは非常に有用です。ただし、このような全文検索が目的だったらObsidianではなくてもいいかもしれない。

また、相互リンクを意識していないデータが大量にあると、グラフビューは役に立ちません。 Vaultを複数に分けるなど、情報の整理が必要だと感じました。

AIとの連携に関しては、まだつかっていませんが、AIのコンテキストサイズが広がったとはいえ、巨大なデータをそのまま扱うと精度が落ちる可能性があるため、工夫が必要だと思います。

Obsidianを使いこなすには、[[リンク]] を適切に配置し、ノート間の関係性を活かすことが重要だと思いました。

今後は、既存データの整理よりも、まずは新規ノートを作りながらリンクを活用する方法を模索していきたいと思います。

  • 既存データを入れただけでは、全文検索以外のメリットはまだ感じにくいですが、 WordPressとKeepを横断検索できるようになったのは非常に有用です。ただし、このような全文検索が目的だったらObsidianではなくてもいいかもしれない。
  • Obsidianの恐らく最大の武器である相互リンクは新規に意識して情報をためていかないと有用ではないように思う。
  • 現状グラフビューで見ても数が多すぎるし、相互リンクを意識してないデータのため役に立たない。
  • まったく関連性の情報を何でもかんでも一緒に扱わずVault(保存庫)を複数作って分けたほうがいいと思った。
  • AIを使うにしても、最近のAIのコンテキストサイズが広がったからと言って、結局、巨大なデータほど処理の精度が落ちるのではないかと思うので使い方に工夫が必要だと思う。
  • Obsidianを使いこなすには[[リンク]]をうまく各ノートに配置して、ノート間の関係性を利用する手法をみつけるのがポイントだと思った。
  • 既存のデータをObsidianでもっと扱いやすいデータに加工することや、AIの利用方法などを考えていきたいと思う。
  • まずは、既存データを利用するのは後回しにして、まずは新しい保管庫に新規ノートを作りながらリンクを活用する方法を模索していきたいと思います。

この記事を書いたイチゲを応援する(質問でもokです)
Vプリカでのお支払いがおすすめです。

MENTAやってます(ichige)

タイトルとURLをコピーしました