HTML形式をGoogle Bloggerへ転記したい
はじめに
アウトドアクラブのwebサイト(当時はホームページと言っていた)が、ジオシティーズ閉鎖と共にアーカイブ状態になっていました。最終更新は2014年4月。
完全に参照できなくなれば、諦めもついたけどアーカイブとなると寂しすぎる。
よし、ココはやったる!
旧サイトの管理人(友人)に「大丈夫だからやらせて」と宣言してしまった。
とりあえず引越し先は右往左往してVercelのHobbyでいいかな。
では、旧サイトのHTMLを調べてみると。
え。216ページ。
コレ手でやるの、ムリ〜〜〜
旧サイトは友人がHTMLを勉強しながら作成していた優美な作り。
とりあえずAIでクリーニングしてみたが、私の指示が悪く、どうしてもうまく行かない。
別の友人の知恵も借りてVscodeでReactなどを使っておしゃれな新サイトを目指す。
なんて事をしてたらWindowsが不安定になりはじめ、ついにはドボン。
データは残っていたので、WindowsとDevStadio入れ直して、と。プロダクトIDを紛失。完全に終わった。
しかたないので、Ubuntu入れて、Vscode入れて、開発はPythonでいいや。(使った事ないけど)
インストール中に、新サイトの運用方針も変更。
- メンバーが投稿できること
- 動画も投稿できること
2点の要件も加わり、サイトもGoogle Bloggerに変更 ♫
Python事始め
'Hello python'から開始し、HTMLファイルのTAGクリーニングCLIを作ってみた。
次にAPIを使った、Bloggerへの投稿を実施し、なんとなく感覚はつかめてきた。
ソフトウェア要件定義
容赦ない決定
- HTMLの履歴管理
- HTMLをクリーニング
- デザインはBloggerで一括管理したいので、フォントや色設定などを取り去る
- キーワード抽出と登録
- Bloggerには投稿毎にキーワード設定があるので、HTML内の文章とマッチングしたものは、キーワードにしたい
(例:カヤック、ボルダリングなど)
- Bloggerには投稿毎にキーワード設定があるので、HTML内の文章とマッチングしたものは、キーワードにしたい
- 位置の抽出と登録
- これもBloggerの投稿毎につけられる機能
(例:菅平高原、富士山など)
- これもBloggerの投稿毎につけられる機能
- 画像のExif削除、ウォーターマーク追加
- 記事、画像のアップロード
- GUI
実装
皆さんの思惑通り、ハマリまくり。
- UbuntuのIMEに慣れず、アタフタ → Fcitx5を入れて何とか回避
- Blogger APIには画像関連がないことを発覚 → 画像を多少楽な手動+自動リンク手順を確立し手順化
- pythonのネストになれず → 指でネストを確かめる始末になる
- ライブラリのVersion問題発生 → python仮想環境(venv)を勘違い → virtualBoxで環境を作ろうと右往左往 → ターミナル内とわかり頭が真っ白になりかける
- Blogger APIをタイマーも持たず200回ほど投げてしまう → アカウントロック警告メールを受け取る → グーグルに謝罪メールを送り翌日回復
- 地域データを集計する為にWineとExcel(MS-Office)をインストール → セル入力状態から抜け出せずLibreoffceに移行 → nominatim ジオコーディングを発見し問題解決
- 保険で仮想Windowsを動かそう → 遅すぎ。HDD不足。やっぱりライセンス高額で断念
- AIにいろいろお願いするも、言語仕様が分からずテキトーに承認 → ほとんど作り直すハメになる
- GUIをtkinterで作るにはコードで書くんだ → ベースはAIに書いてもらい、後はソースとにらめっこ
- pythonが
全て参照渡しと知る → copyが走らないのでなかなかいい感じ → え。queueもインスタンスをputすると参照じゃん。って理解できるまで鬼デバック- ご指摘頂き、削除しました、誤情報です
- なかなか上手くできず、ついついキータッチが強くなる → 家族からうるさいと言われ、泣きそうになる
定説の再認識
技術には時間を使うか、金を使うか、知恵を使うか。
と、知恵を使えない私には時間だったようです。
しかし得るものも多かったと思います。
プディングの味は食べてみなければわからない。
デバックのご協力をお願いします
Python環境であれば、WindowsやMacでも動くようにコーディングしたつもりです。
Google API 認証情報が必要で少々面倒ですが、デバックして頂ければ幸いです。
レビューだけでも頂ければ励みになります。
Pytonのコーディングの指摘があれば是非に!