
「2025年中に変更あるいは終了するPC・ネットワーク関連サービスの対応について」に追加する必要が発生するとは、思ってもみなかった。。。
(1)移行データを作成してみた(MT形式データ)
2025年4月28日現在(3988日)
記事数: 430
画像数: 2,037枚/0.445GB
draft記事数: 20
「draft」記事は、書きかけが1件。「goo blog」以前の「broach blog」に関連する記事が19件。
「broach blog」関連記事は捨てても良いのだが、MT形式データに含まれていた。
(2)DS216JにWORD PRESSを稼働して独自運用案を検討
現在DS216Jは、nginxとLet's EncryptでWEBサーバ運用中であるが、WORD PRESSをインストールするとapache2のインストールが必要となり、多分、apache2サーバが主になると思われる。
「goo」の新規投稿停止が9月いっぱいなので後5ヶ月。
ただ、DS216JもDSM定期アップデータデータ自動配信が止まっている。
DS216J
DSM 7.1.1-42962 Update 8
WORD PRESS 6.1.1-1062
PHP 8.0 8.0.23-0103
APACHE HTTP SERVER 2.4 2.4.54-0125
(3)「はてな blog」へ移行する事に
一応「はてな」に決め、MT形式データのインポートと画像の取り込みを実施してみた。
2025-04-28 10:53:57に開始し、画像の取り込みまで含め、430件の記事移行に、約1日掛かった。
チェックしてみると、
・1件の外部画像が取り込み失敗(画像の場所が変わっている)。
・記事内から自サイトの他記事へのurlリンクが「goo」のままになっている。11月18日にgooが停止するとリンク切れになる(編集での修正は大変)。
・自記事へのリンクが編集画面になっていた(2記事)
・画像リンクの後の文字が「改行」せずに繋がってしまう。
・<pre><code></pre></code>内のhtmlがcode扱いにならない。。。
対策案
・外部の不明な画像は、再検索で発見出来たので、新しいリンクにgoo記事を修正してMT形式データ作成
・記事内から自サイトの他記事へのurlリンク対策
gooのurlは、GUIDと思われる数値文字列。はてなのurlは、「/YYYY/MM/DD/HHMMSS」。
macOSのpythonスクリプトを使い、MT形式データ内のgoo urlからgoo記事(html)を読み込み、記事作成日時を取得し、はてな形式urlにMT形式データを書き換える事にした。
・goo記事内で編集画面urlを修正確認。MT形式データをeditorで修正(「https://blog.goo.ne.jp/admin/editentry」を探し修正)。
・画像リンクの後の改行は、「はてな」インポート変換処理で削除されてしまう。インポート後の記事を確認して手作業修正が必要そう。。。
・「div backgroud-color, pre, code」記述は、インポート変換で意図しない結果になる。水平スクロールが追加されるのは良いが。。。対策方法が見つからない。
実行結果
記事URLの変更スクリプトを実行
cnvlink.py
#!/usr/bin/python3
import urllib.request
import re
infile="20250428-export_blog_1.txt"
infiles=infile.split('.')
outfile=infiles[0]+"-conv."+infiles[1]
urllink1="https://blog.goo.ne.jp/gooアカウント名"
def getdate(gurl):
pat1='<span class="entry-top-info-time">(\d+)-(\d+)-(\d+)\s+(\d+):(\d+):(\d+)</span>'
req=urllib.request.Request(gurl)
try:
with urllib.request.urlopen(req) as res:
body=res.read().decode("utf-8")
res1=re.search(pat1,body,re.S) #
if res1:
hurl="/entry/"+res1.group(1)+"/"+res1.group(2)+"/"+res1.group(3)+"/"+res1.group(4)+res1.group(5)+res1.group(6)
return hurl
else:
hurl="may be document style error"
return 1
except urllib.error.HTTPError as e:
if e.code >= 400:
print("HTTP("+str(e.code)+") "+e.reason)
else:
raise e
return 1
outline=""
outlines=""
p=re.compile('(^.*)(<a href=".*/gooアカウント名)(/\w/\w+)(".*$)')
with open(infile, encoding="utf-8") as f:
for line in f:
# print(line)
m=p.search(line)
if m:
#print("GOO link: "+m.group(3))
rs=getdate(urllink1+m.group(3))
#print("HATENA link: "+rs +"\n")
if isinstance(rs,str):
print(line)
print("Convert to :")
outline=m.group(1)+"<!-- "+m.group(2)+m.group(3)+"\" --><a href=\"https://はてなblog名.hatenadiary.jp"+rs+m.group(4)
outlines=outlines+outline
print(outline+"\n")
else:
outlines=outlines+line
else:
outlines=outlines+line
with open(outfile, mode='w') as fo:
fo.write(outlines)


(4)今後について
・「はてな」インポート変換後の画像リンク直後の改行処理
・「div backgroud-color, pre, code」記述は、編集後の保存でも発生
上記に2点の解決方法を模索する。
〜9月30日 goo blogで投稿。月末にMT形式データ取得し、新規投稿分だけに編集処理。自己記事URLのスクリプト処理。「はてな」インポート処理。
「はてな」投稿、編集機能の習熟
時期を見て「はてな」blogを公開処理。「goo」blogから「はてな」blogへのurlリンク設定
〜10月1日 新規投稿停止
11月18日 サービス停止
「goo」blogのサービス停止が発表されても毎日数10件の新規blog開設がされているのが不思議・・・
「goo」から「はてな」へ(#2)
「goo」から「はてな」へ(#3)
「goo」から「はてな」へ(#4)
「goo」から「はてな」へ(#5)
「goo」から「はてな」へ(#6)