テーマアップデートでテンプレに手入れしたのがすべて吹き飛んだ件

こんばんは、昨日今日は出張の関係もあり疲れててギターができませんでした。

前回はアドリブ練をやってましたが、すでにやってる範囲のせいで進捗しないという罠にかかりました。

ふつうのアドリブ練!1弦チョーキングがやりにくかった

今回、初回であまりにも唐突だった話を記事にします。

というのも今日ブログを見てたらアクセスカウンターやブログランキングのボタンが消えてたのです。

 

最初はそれぞれのサービス利用で何かミスって消されたのかと思いましたww

ただここまで色んな変化があると難かしらのアップデートがあり、ブログのテンプレートファイル等がリセットされたのではという選択に行きつきました。

 

最近WordPressの最新版がリリースされたみたいですね。。。その互換性のこともあってか昨日、私のブログのテンプレートである「Twenty Seventeen」がアップデートされたみたいです。

テンプレートをアップデートするとファイルに手を入れてたものごとリセット・・・

 

そう。。。私はテンプレートのPHPファイルに手を入れていました。

なので、まずは応急処置として同じファイルを探しては、同じ処置は施しました。

ただテンプレートが更新されるたびに編集が消えるのでは根本策ではないんですよね・・・どうしたらいいのやら・・・

 

子テーマをつかうといいらしいのですが、具体的なところは調べないとわかりませんね・・・

まだWordPress習得には課題がありそうだ。。。ということでギターから離れますが今回の記事はここで終了です。

ではでは。おやすみなさい💤

fc2ブログで設定したタグやアイキャッチ情報がほしく編集画面を吸い上げてみた

こんばんは、、、年末近くてとりあえず掃除とか頑張んなきゃと思ってます。。。

前回はYouTubeのバナーチェンジ頑張ってました。

YouTubeのチャンネルをいじってみた

今回は以前から調べてるfc2からWordPressにブログを移行する件について、調べてました。

えっ!?以下の記事のように移行してもうすでに終わった話では???

fc2からWordPressのブログに引越し

って思うかもしれません。。。確かに本文も一番つらかったリンクも移行ツールを作って、対処できました。

 

ただどうしても難しかったのがあるのです。。。

それがfc2ブログで埋め込んでたタグとアイキャッチです。

これが移行できないと、例えばアイキャッチを扱うテーマとかで、記事トップにアイキャッチが出てくる記事とそうでない記事の泣き別れが起きてしまいます(コクーンとか使いたいのに・・・)。どの画像をつかったかとかそこを確認する羽目にもなって手に負えません。

タグもなにを貼っていたかとか思い返しも大変ですね・・・

 

そのためまずはfc2時代、、、いや普通にブログサービスを使ってタグやアイキャッチをどこで設定するかに着目しました。

そう各記事の編集画面ですね。。。

編集画面にはタグやアイキャッチのデータが表示されるはず、、、ということは編集画面のHTMLファイルをすべて回収するのはどうかと。。。

 

うーんやっぱり分からん!!!ってコンピュータ扱う人なら想像しにくいかもしれません。

やりたいこととしては

  • プログラムで何かで各記事の編集画面をHTMLファイルで回収(別にソースさえ抜ければ形式なんでもいいが・・・)
  • 各HTMLのソースコードをみて、タグやアイキャッチが書かれた部分を抜き出す

ということです。

 

あとは抜き取った情報をWordPressのxmlファイルとかに埋め込むとかご自由にって感じです。

ただ単純に説明はしちゃってますが、かなり高度です。とりあえず各記事の編集画面のHTMLを全部抜き取るとこだけはやってみました。

ちなみにblogdata-(fc2のブログID).htmlというフォーマットで残しています。

余談ですがブログID29は、欠番です。。。ほかにも欠番が紛れ込んでて、、、これを見抜くには。。。他よりサイズが軽い(117KB)ので、それでソートすれば除外できます・・・

 

ここから先のステップ・・・もう1個目で大分大変だったので今回はこの辺ですね・・・

できればタグやアイキャッチも引き継ぎたい、、、そんな思いで謎の自由研究してます。

 

ではでは、おやすみなさい。

“fc2ブログで設定したタグやアイキャッチ情報がほしく編集画面を吸い上げてみた” の続きを読む

fc2からWordPressのブログに引越し

自己紹介画像

こんにちは、最近寒くて朝が大変です。
スマホを見たとき、一時的に4度とかなって、
一瞬目を疑いました。

前回はGIUミーティングのことを記事にしました。
年末年始からの細かいネタの膨らませ方が面白かったですね。

GIUミーティング(2021/11/26)参加!年末年始の雑談からのいろいろ展開

今回は以前、宣言させていただきました通り、
ブログの移行を行いました。

【ご連絡】2021年11月下旬にブログを移転します

FC2で運用していたブログは残し、
これからはWordPressで運用していきますので、
今後ともよろしくお願いいたします。

私がエレキギターの練習の成果を載せる上で、
ブログはSNSの中でも一番重要な、つまり中核を担っていて、
それを変えるというのは思い切った感じです。

引っ越した事情ですが、
別にfc2の規約とかブログサービスの制約に引っ掛かったとかではないです。
特段の不満もなく、むしろサービスの充実さから続けられましたしうれしいことばかりでした。
(そういった思いいれもあって実際にはfc2のブログ自体を残したままです、そのほうがいつでも戻れるので・・・)

にもかかわらず引っ越した理由ですが、
やはり技術的な動向に関することですね・・・
Twitterとかでは少し触れたのですが、ブログに関する情報を習得し実践するには、
レンタルサーバ&WordPressの組み合わせで運営することが多く、、、
その組み合わせでの運営を前提とした書籍が多い印象です。

特に私の場合、プロフィールの通り、
プログラミングとか技術的なことを扱ってます、、、
そういった技術を得るには環境をしっかり整えなきゃという、事情があります。
そうなるとブログ。。。もっと広い意味でWebに関する理解という観点で、
やっぱり世の中のやり方に合わせて、実際に運営につかったほうがと判断しました。

fc2ブログ経由でいろいろ見ていただいた方の情報がほぼほぼリセット、
SEO的にもリセットにもなるわけで、それを1から鍛え直します。

エレキギターを題材に初心者として課題をどうやって乗り越えるか研究し、
ブログで展開できるよう継続するので、
これからもよろしくお願いします。

では本記事をこの辺で終了します。

【ご連絡】2021年11月下旬にブログを移転します

※予告の都合で2021/11/6の記事をトップページの先頭に固定してます。

みなさま

すでにいろいろな記事で記載させていただいてますが、
2021/11/27にブログを移転します。
新しいURLは以下になります(11/3までの記事を移行済)
https://enrock-guitarblogger.com/

レンタルサーバを用意し、WordPressで作成することが、
今後のブログに関する理解につながると判断したからです。
ブログ関係の書籍がレンタルサーバ+WordPressで溢れすぎて申し訳ないです・・・

あとは移行調査がうまくいったのもありますね・・・

WordPressへの移行ツールをさらに強化して必要なファイルを取り込めるようにした

※ 今回、ギターネタはありません。こんばんは。。。また平日で疲れます・・・今週もがんばるぞーーー(棒)前回はとりあえず例の曲を正式配信する、日限を決めて、またどこまでできるかという感じで、線引きしました。いつも通りの練習である・・・最終報告まであと1週間・・・こんばんは・・・今日はちょっとケーキ買いつつもほとんど寝てました。やっぱり疲れやすい自分がいます。前回はGarageBandをデータごと消してしまうとい…

fc2のサービスは非常に便利でいろいろ活用させていただいています。
そのこともあり、苦渋の決断にはなります。
できれはfc2に戻ったときのことも含めて、
本ブログはしばらく残することを考えています。
ただ11/28以降の記事はWordPressになりますことご注意ください。
“【ご連絡】2021年11月下旬にブログを移転します” の続きを読む

WordPressへの移行ツールをさらに強化して必要なファイルを取り込めるようにした

※ 今回、ギターネタはありません。

こんばんは。。。また平日で疲れます・・・
今週もがんばるぞーーー(棒)

前回はとりあえず例の曲を正式配信する、
日限を決めて、またどこまでできるかという感じで、
線引きしました。

いつも通りの練習である・・・最終報告まであと1週間・・・

こんばんは・・・今日はちょっとケーキ買いつつもほとんど寝てました。やっぱり疲れやすい自分がいます。前回はGarageBandをデータごと消してしまうという、VTuberやる上で1番やっちゃいけないことをしてしまいまして・・・なんとか基に近い感じで復元できたのかなと、、、まぁまぁ苦労しました。物理削除の恐ろしさ…操作ミスでVTuberの音声データを消してしまったので修復とテストしてたこんばんは…今日はほとんどグータラしてま…

今日は。。。ちょっと疲れて寝ながらパソコン操作・・・
例のfc2からWordPressに移行するプログラムが面白くて、
カスタマイズしていました。

連番ルールが原因のリンク切れ問題をもっと効率的に解消したかった

こんばんは・・・やっと週末ですね。昨日はブログを移行するためのやつを徹夜でやって、まぁ少しは改善できました・・・ブログ移行の課題。。。連番ルールが原因のリンク切れ問題を効率的に解消せよこんばんは・・・今日はテレワークでゆったりできています。ゆったりはうそか・・・テレワークでも忙しいと疲れます前回はE7ソロコン対策を引き続きやって、少し希望が見えていました。E7一発ソロコン対策でスケールの復習をしていた…

あのときのプログラム実行前の条件が、
ブログのバックアップファイルやsitemap.xmlを取ってくるようになっていました。
ただそれをやるとどのサイトにアクセスすればいいかって、
あとで見返したとき面倒だなっと。。。

もはやワンぽちでfc2のデータを可能な限り吸い上げて、
WordPress移行用に直せればと、、、

そのデータを吸い上げるところを追加しました。


import xml.etree.ElementTree as ET
import re
import requests
import os
import urllib
import urllib.request # opener
import urllib.parse # urlencode
import http
import http.cookiejar
import time

opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(http.cookiejar.CookieJar()))

post = {
‘id’:’xxx,
‘pass’:’xxx’,
‘done’:’blog’,
‘mode’:’login’,
‘email’:’xxx’,
}
data = urllib.parse.urlencode(post).encode(‘utf-8’)
time.sleep(3)
conn = opener.open(‘https://secure.id.fc2.com/index.php?mode=login&done=blog&switch_language=ja’, data) # ①
time.sleep(3) # Consider scraping
conn = opener.open(‘https://admin.blog.fc2.com/control.php?mode=control&process=backup&type=all’)
time.sleep(3) # Consider scraping
ofs = open(‘blogdata.txt’, ‘w’, encoding=’utf-8′) # ②
ofs.write(conn.read().decode(‘utf-8’))
ofs.close()

SRC_DOMAIN_NAME=”xxx” # if use mydomain
SRC_FC2_DOMAIN_NAME=”xxx” # fc2 default domain
TGT_DOMAIN_NAME=”xxx” # new address

IMG_ADDRESS=”https://blog-imgs-(\d{1,}).fc2.com/x/x/x/xxx/”

def checkBlogCardTag(line):
if “fc2-blogcard” in line:
return True
else:
return False

def replaceBlogCardTag(line):
new_line = re.sub(r”fc2-blogcard”, “fc2-fc2-blogcard”, line)
return new_line

def replaceLinkInBlog(line):
new_line = re.sub(r”(“+SRC_DOMAIN_NAME+”|”+SRC_FC2_DOMAIN_NAME+”)/blog-entry-(\d{1,}).html”,
TGT_DOMAIN_NAME+r”/blog-entry-\2″, line)
if SRC_DOMAIN_NAME in line or SRC_FC2_DOMAIN_NAME in line:
new_line = re.sub(r” target=\”_blank\””, “”, new_line)
return new_line

def replaceImgLinkInBlog(line):
new_line = re.sub(r”(“+SRC_DOMAIN_NAME+”|”+SRC_FC2_DOMAIN_NAME+”)/img/”,
TGT_DOMAIN_NAME+r”/wp-content/uploads/fc2data/”, line)
new_line = re.sub(r”(“+IMG_ADDRESS+”)”,
TGT_DOMAIN_NAME+r”/wp-content/uploads/fc2data/”, new_line)
if SRC_DOMAIN_NAME in line or SRC_FC2_DOMAIN_NAME in line:
new_line = re.sub(r”.jpeg/”,”.jpeg”, new_line)
new_line = re.sub(r”.jpg/”,”.jpg”, new_line)
new_line = re.sub(r”.png/”,”.png”, new_line)
new_line = re.sub(r” target=\”_blank\””, “”, new_line)
return new_line

# make the sluglist
r = requests.get(SRC_DOMAIN_NAME+’/sitemaps.xml’) # ③
time.sleep(3)
r.encoding=”UTF-8″
with open (‘sitemaps.xml’,’wb’) as sitemap:
sitemap.write(r.content)
tree = ET.parse(‘sitemaps.xml’)
slist = []
for i in tree.iter():
if “blog-entry” in i.text :
tmp = i.text.replace(SRC_DOMAIN_NAME + ‘/’, ”)
tmp = tmp.replace(SRC_FC2_DOMAIN_NAME + ‘/’, ”)
tmp = tmp.replace(‘.html’, ”) # escape parm link
slist.append(tmp)
slist.reverse() # sort asc

# insert the basename
fileobj = open(“blogdata.txt”, “r”, encoding=”utf_8″)
fileobj2 = open(“blogdataMgrt.txt”, “w”, encoding=”utf_8″)

idx = 0
while True:
line = fileobj.readline()
if line:
if not “if” in line and “PRIMARY CATEGORY:” in line: # why use condition ‘not “if”‘ : because of consider to program in blog
fileobj2.write(line)
bname =slist[idx]
fileobj2.write(‘BASENAME: ‘+bname+’\n’)
idx = idx + 1
elif SRC_DOMAIN_NAME in line or SRC_FC2_DOMAIN_NAME in line or checkBlogCardTag(line):
line = replaceLinkInBlog(line)
line = replaceBlogCardTag(line)
line = replaceImgLinkInBlog(line)
fileobj2.write(line)
elif not “if” in line and “EXTENDED BODY:” in line: # if not include the extend body, remove in blog
tmp1 = fileobj.readline()
tmp2 = fileobj.readline()
if tmp1 == ‘\n’ and tmp2 == ‘—–\n’:
pass
else:
fileobj2.write(line)
fileobj2.write(tmp1)
fileobj2.write(tmp2)
else:
fileobj2.write(line)
else:
break

fileobj2.close()
fileobj.close()

os.remove(‘blogdata.txt’)
os.remove(‘sitemaps.xml’) # ④

 

ポイントは3点、、、
(1) セッション作成後のデータ回収
①の処理にてログインした状態のセッションを作って、
②でバックアップファイルをダウンロード&保存しています。
(2) sitemaps.xmlを回収
③にてsitemaps.xmlにアクセスしてデータをダウンロード&保存しています。
(3) 一時ファイルを削除
(1)、(2)のデータは飽くまで一時ファイル、、、
それ以降の処理でWordPress用のデータに変わったものができるので、
仕事としてはやり切った・・・ということで邪魔なデータは消しています。

こんなものでしょうか。
ここまで凝るともはやプログラムを1つのファイルに収めていいモノか怪しくなりました。
やはりモジュール分割を・・・

あとブログ移行では画像やメディアなどもダウンロードしなければなりませんが、
そのロジックが思いつきませんでした。
これについては研究中です。

ただ移管するだけでなく、
同じようにブログ移管の課題を抱えている人に役立てばと思います。

ではでは、おやすみなさい。
“WordPressへの移行ツールをさらに強化して必要なファイルを取り込めるようにした” の続きを読む