goo blog サービス終了のお知らせ 

rabbit51

it's since Nov.30 2005
May.29 2014, transferred from broach

「goo」から「はてな」へ

2025-05-11 14:00:00 | 

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
ちょっと時間が足りないので「goo」が推奨している「はてな」と「Ameba」を検討する事にした

(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)
1回目のインポート後、修正したMT形式データを再インポートしたが、上書きでインポートされず、同一記事が二つづつになってしまった。この時「はてな」ブログ内で2回目の記事URLに「_1」が追加された。そのご、以前にインポートした記事を削除したため、記事URLに「_1」が追加されたままになっていた。このデータを元に「はてな」の記事URLを確認し、スクリプトデータを作成した。スクリプト処理をしたMT形式データを取り込む前にインポート済記事を削除し、インポートを行ったため、インポート記事は、「_1」が付記されず、記事参照URLは、「_1」が付記されたため失敗。スクリプトの記事参照URLから「_1」を削除し、MT形式データをインポートする前にインポート済記事を削除して、再度MT形式データをインポートした。





(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」から「はてな」へ
「goo」から「はてな」へ(#2)
「goo」から「はてな」へ(#3)
「goo」から「はてな」へ(#4)
「goo」から「はてな」へ(#5)
「goo」から「はてな」へ(#6)
 

 

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ゆうちょ銀行ワンタイムパス... | トップ | 「goo」から「はてな」へ(#2) »
最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。
ブログ作成者から承認されるまでコメントは反映されません。

」カテゴリの最新記事