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

rabbit51

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

「goo」から「はてな」へ(#6)

2025-06-01 05:30:00 | 

(13)公開設定
2025年6月1日 5:00amから移行先の公開設定を「すべての人に公開」とした
2025年5月1日以降の「goo」記事の移行は、8月頃を予定する

「https://blog.goo.ne.jp/rabbit5151/\w/\w+」の記事投稿日「YYYY-MM-DD HH:MM:SS」
から
「https://rabbit51.hatenadiary.jp/entry/YYYY/MM/DD/HHMMSS」
で移行先を確認

 
「goo」から「はてな」へ
「goo」から「はてな」へ(#2)
「goo」から「はてな」へ(#3)
「goo」から「はてな」へ(#4)
「goo」から「はてな」へ(#5)
「goo」から「はてな」へ(#6)
 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「goo」から「はてな」へ(#5)

2025-05-26 09:00:00 | 

(10)コメント内のURLリンク(追記)
(9)項で記載したMT形式データ内コメントの「<a name="somewhere">something</a>」タグは、はてなインポートで取り込まれる。コメント管理で表示される。このコメントが記事表示されると「<a>something</a>」と変換されてしまう。

(11)記事データとMT形式データ
MT形式データが取り込まれた後、編集保存すると、インポートの取り消しで削除されなくなる。

(12)<pre><data>タグ内のHTMLコード
「実体参照」記述されたHTMLコードが保存された記事を再編集で開くと実体参照表示され、編集後に保存すると「実体参照」記述で無くなる。gooも同じなので編集に注意が必要。
「&lt;」 -> 「<」 -> 「<」

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「goo」から「はてな」へ(#4)

2025-05-17 18:00:00 | 


(8)URL変更スクリプト
一行に複数の自記事URLに対応後、さらにページ内リンク対応した
スクリプトを修正
cnvlink4.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=r'<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

cnt=0
cnturl=0
outlines=""
p=re.compile(r'<a href="([\w\.:/]*?)/gooアカウント名(/\w/\w+)(#?\w*)">')
with open(infile, encoding="utf-8") as f:
    for line in f:
        cnt=cnt+1 #lines
        while True:
            m=p.search(line)
            if m:
                print("GOO link: "+m.group(0))
                rs=getdate(urllink1+m.group(2))
                if isinstance(rs,str):
                    print("HATENA link: "+rs.+m.group(3))
                    cnturl=cnturl+1 #conerted urls
                    print("Converted: "+str(cnturl)+" urls@lineNumber "+str(cont)+"\n")
                    line=line[:m.start()]+"<!--/gooアカウント名"+m.group(2)+"--><a href=\"https://はてなblog名.hatenadiary.jp"+rs+"\">"+line[m.end():]
                else:
                    line=line[:m.start()]+"<!--/gooアカウント名"+m.group(2)+"--><a href=\"https://はてなblog名.hatenadiary.jp/\">"+line[m.end():]
            else:
                break #escap from while
        outlines=outlines+line

with open(outfile, mode='w') as fo:
    fo.write(outlines)
877個のurl変換に加え11個のページ内url変換が加わり888個のurl変換となった。

(9)コメント内のURLリンク
・gooでコメント内に記事へのurlリンクが記載されていた(1件)。MT形式データをcoteditorでhatenaの記事リンクへ修正
・記事からコメントへのurlリンクが記載されていた。「はてな」ではコメント内にurlアンカー記載が出来ない。MT形式データに「<a name="someAnchor">」としたが、インポート後「<a>」で削除された。「id」も削除され対応出来なかった。

 
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「goo」から「はてな」へ(#3)

2025-05-15 18:00:00 | 


(6)URL変更スクリプト
移行したデータを確認していたら、一行に複数の自記事URLの変換が出来ていなかった。
スクリプトを修正
cnvlink3.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=r'<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

cnt=0
outlines=""
p=re.compile(r'<a href="([\w\.:/]*?)/gooアカウント名(/\w/\w+)">')
with open(infile, encoding="utf-8") as f:
    for line in f:
        cnt=cnt+1
        while True:
            m=p.search(line)
            if m:
                print("GOO link: "+m.group(0))
                rs=getdate(urllink1+m.group(2))
                if isinstance(rs,str):
                    print("Convert to :"+str(cnt))
                    line=line[:m.start()]+"<!--/gooアカウント名"+m.group(2)+"--><a href=\"https://はてなblog名.hatenadiary.jp"+rs+"\">"+line[m.end():]
                else:
                    line=line[:m.start()]+"<!--/gooアカウント名"+m.group(2)+"--><a href=\"https://はてなblog名.hatenadiary.jp/\">"+line[m.end():]
            else:
                break #escap from while
        outlines=outlines+line

with open(outfile, mode='w') as fo:
    fo.write(outlines)

(7)その他
・MT形式データのコメント:セパレータが行頭に無く解釈されなかったのを修正(多分editorで誤変更)

 
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「goo」から「はてな」へ(#2)

2025-05-14 14:00:00 | 


(5)はてな対策
「はてな」インポート変換後の画像リンク直後の改行処理
「はてな」blogのデザインによって記事エリアの横幅が自動調整される。結果、画像の固定幅との差で文章が画像左に回り込んで表示される。「はてな」blogのデザインのままにする。

「div backgroud-color, pre, code」記述
タグのスタイルを指定しても<pre>タグに反映されない。<pre>タグにstyleを指定し、<div>タグを外すこととした。記事毎に「はてなblog」で編集するのは、大変なので、MT形式データをmacOSの「coteditor」を使い、置換処理をした。



コメントのインポート
「goo blog」のIDと「はてなblog」のIDが異なるため「AUTHOR:」(MT形式データ)のIDが異なる。MT形式のデータ内で事前修正した。コメント内のURLリンク(自記事画像へのリンク)が修正されていない。
はてなの画像インポートは、インポート時点の日時がファイル名になっているためコメントデータ(MT形式)を事前修正出来ない。
インポート後のコメントを修正する事も出来ない。未修正のままとした。


 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする