OpenAIでWixブログ記事をMarkdownにエクスポート

OpenAIでWixブログ記事をMarkdownにエクスポート

Artem Meleshko
Artem Meleshko Co-Founder & iOS Engineer at Everappz

なぜWixからブログ記事をエクスポートするのか?

要約: このガイドでは、3つのPythonスクリプトを使用してWixブログ記事をMarkdownにエクスポートする方法を説明します:セットアップランナー、Seleniumベースのスクレイパー、OpenAI搭載のHTML-Markdownコンバーター。結果は、Hugo、Jekyll、その他の静的サイトジェネレーター用のクリーンでポータブルなMarkdownファイルです。

WixにはMarkdownへのネイティブブログエクスポート機能がありません。HugoやJekyllのような静的サイトジェネレーターに移行する場合、レンダリングされたページをスクレイプし、コンテンツを抽出して変換する必要があります。このチュートリアルはPython、Selenium、BeautifulSoupOpenAIのGPT APIを使用してプロセス全体を自動化します。

パイプラインは3つのスクリプトを使用:

  • fetch_blog_posts.sh — 環境をセットアップしパイプラインを実行
  • parse_blog_sitemap.py — Seleniumでページをレンダリング、コンテンツを抽出、画像をダウンロード
  • generate_md.py — OpenAI経由でHTMLをMarkdownに変換

ステップ1:環境のセットアップ

#!/bin/bash
echo "🔍 Checking Python installation..."
if ! command -v python3 &> /dev/null; then
    echo "❌ Python 3 is not installed. Please install Python 3 and try again."
    exit 1
fi
echo "✅ Python 3 found: $(python3 --version)"
VENV_DIR=".venv"
if [ ! -d "$VENV_DIR" ]; then
    python3 -m venv "$VENV_DIR"
fi
source "$VENV_DIR/bin/activate"
pip install --upgrade pip
pip install beautifulsoup4 lxml selenium webdriver-manager
python3 parse_blog_sitemap.py
deactivate

ステップ2:ブログコンテンツのスクレイプと抽出

parse_blog_sitemap.pyが重い処理を担当:サイトマップXMLを取得、Seleniumでページをレンダリング、<div id="content-wrapper">を抽出、画像をダウンロード、クリーンなHTMLを保存。

なぜrequestsではなくSelenium? WixはJavaScriptでコンテンツをレンダリングします。通常のHTTPリクエストでは空のページシェルが返されます。

ステップ3:OpenAIでHTMLをMarkdownに変換

generate_md.pyは各_index.htmlファイルを読み込み、OpenAIのChat APIにコンテンツを送信し、結果のMarkdownを書き込みます。

出力フォルダ構造

downloads/
  your-post-title/
    _index.html      # 抽出・クリーニング済みHTML
    _index.md         # 変換済みMarkdown
    image1.png        # ダウンロード済み画像

パイプライン全体の実行

bash fetch_blog_posts.sh

プロジェクトへの貢献

プロジェクトはオープンソースです。


よくある質問

Wixブログ記事のスクレイプにrequestsを使えないのはなぜ?
WixはJavaScriptで動的にコンテンツをレンダリングします。標準的なHTTPリクエストでは空のページシェルが返されます。Seleniumはヘッドレスブラウザを実行して完全にレンダリングされたHTMLを取得します。
どのWixブログでも動作しますか?
はい。スクレイパーはブログのサイトマップXMLを読み取り、各URLを処理します。parse_blog_sitemap.pySITEMAP_URL変数を更新するだけです。
どのOpenAIモデルを使用していますか?
スクリプトはデフォルトでGPT-4oを使用します。generate_md.pyAPI_MODEL変数を変更して別のモデルを使用できます。
WixからHugoへの移行に使えますか?
はい。出力はローカル画像パス付きの標準Markdownで、Hugo、Jekyll、Astroなどの静的サイトジェネレーターで直接動作します。
OpenAI APIの費用はいくらですか?
費用はブログ記事の数と長さによります。中程度の長さの記事50件の一般的なブログで、GPT-4oのAPI使用料は数ドルです。
このツールはオープンソースですか?
はい。完全なソースコードはGitHubでオープンソースライセンスの下で利用可能です。
最終更新日