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

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

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

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

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

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

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

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

 

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

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

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

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

 

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

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

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

 

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

やりたいこととしては

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

ということです。

 

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

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

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

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

 

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

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

 

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

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

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

こんばんは・・・やっと週末ですね。
昨日はブログを移行するためのやつを徹夜でやって、
まぁ少しは改善できました・・・

ブログ移行の課題。。。連番ルールが原因のリンク切れ問題を効率的に解消せよ

こんばんは・・・今日はテレワークでゆったりできています。ゆったりはうそか・・・テレワークでも忙しいと疲れます前回はE7ソロコン対策を引き続きやって、少し希望が見えていました。E7一発ソロコン対策でスケールの復習をしていたこんばんは・・・しごと疲れが半端ないです。といいつつ前回のWordPressとかハマって抜け出せなくなって、睡眠時間がーーーーーーーーーーーーー(昨日も調査しすぎてブログ書けなくなる始末。。。…

それでもいくつかごり押しだったりするので、
もう少しスマートにならないかとプログラムをいじってみました。
というか前提になっていたものをもう少し工夫しまして。。。

例のブログ一覧ですがドメインに「/sitemaps.xml」を付けると、
xml形式でブログのURLリストが出てくるようで、
これ・・・前回の記事番号リストを手作業で作るよりずっとスマートな気がして・・・
(そういうの無いと思ってた)

というわけで、もう少し頑張ってみました。

import xml.etree.ElementTree as ET
# prepare
# - login to user
# - download backup data
# - download from https://{domain}/sitemaps.xml
SRC_DOMAIN_NAME="https://{domain}/" # if use mydomain
SRC_FC2_DOMAIN_NAME="https://{fc2-domain}/" # fc2 default domain
TGT_DOMAIN_NAME="{new domain}"

# make the sluglist
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 + ‘/’, ”)
slist.append(tmp)
slist.reverse() # sort asc②

# insert the basename
fileobj = open(“blogdata.txt”, “r”, encoding=”utf_8″)
fileobj2 = open(“blogdatawithslug.txt”, “w”, encoding=”utf_8″)
idx = 0
print(len(slist))
while True:
line = fileobj.readline()
if line:
fileobj2.write(line)
if not “if” in line and “PRIMARY CATEGORY:” in line: #③
bname =slist[idx]
fileobj2.write(‘BASENAME: ‘+bname+’\n’)
idx = idx + 1
else:
break
fileobj2.close()
fileobj.close()

主な変更点をザックリ解説すると、、、
① sitemap.xmlは手元にダウンロードして、読み込むものを追加、後の処理は、そこからblog-entry。。。のつくURLを抽出してます
② sitemap.xmlのblog-entryは降順ですが、バックアップデータが昇順なので、その順番を合わせるために逆順するreverse()メソッドを入れてます。ちなみにsort()メソッドというのもあるのですが、記事番号が{1,2,3・・・}ではなく{1,10,2,・・・}という順番になってしまうのでやめました。
そっちのほうがいいんだけど・・・
③ 昨日のif文で「PRIMARY CATEGORY:」を含む行の下にbasenameを入れる処理を書いたのですが、それにandの判定を追加しました。これがないと昨日の記事のプログラム例そのものが、判定に使われてしまいプログラムエラーになるためです。

という技術的なことですいません。。。
でもこれがやったことのすべてなもので。。。

これでやったら結果は同じだし、
一度作ったならわざわざとは思いましたが、
他にも同じ悩みを抱えている人に役立てばとやってみました。

まさかのギターブログにこの記事ですが、
参考に利用ください。

本当にワードプレスに移行できてしまう可能性が上がりました・・・
もう少し調査次第ですが、一番重いのがリンク付けだと思うので、
やってみますか・・・

ではでは、おやすみなさい。
“連番ルールが原因のリンク切れ問題をもっと効率的に解消したかった” の続きを読む

ブログ移行の課題。。。連番ルールが原因のリンク切れ問題を効率的に解消せよ

こんばんは・・・今日はテレワークでゆったりできています。
ゆったりはうそか・・・テレワークでも忙しいと疲れます

前回はE7ソロコン対策を引き続きやって、
少し希望が見えていました。

E7一発ソロコン対策でスケールの復習をしていた

こんばんは・・・しごと疲れが半端ないです。といいつつ前回のWordPressとかハマって抜け出せなくなって、睡眠時間がーーーーーーーーーーーーー(昨日も調査しすぎてブログ書けなくなる始末。。。)サーバが本来の使い方ではないが・・・有名なCMSのWordPressに触れてみたこんばんは・・・今週もはじまって大変です。最近暑くてじめじめしてます。前回はVTuberが荒ぶる動画を公開しまして。。。やっぱり高身長を考慮できなかった…

今回は何となく手を付けているワードプレスの調査をしていました。
そんなに調べてるなら移行したいなーーー

個人的に悩んでいるfc2ブログからワードプレスへ移す課題として、
やっぱりブログ内にリンクを付けた場合ですね・・・

過去の記事が経緯となって今の自分があるというのを示すために、
過去記事のリンクをつけているのですが、
ブログサービス変えるとURL体系変わってリンク切れになるんですよね・・・

fc2の場合、記事のリンクは
https://ドメイン/blog-entry-(記事番号).html
なのですが、、、

この記事番号というのが非常に厄介で、
記事を立てるごとに自動的に作られるこの番号・・・
途中の記事を消すと欠番がでてしまうのです。

またブログデータをエクスポートするときに、
記事番号が引き継がれないので、
他のサービスでインポートした時に記事番号が連番通りになるんですよね。

このように他のサービスとの連番体系が異なると、
移行でパーマリンクが切れる原因になるんですよね。。。
これに関してfc2からの移行手順を紹介している記事の大半は、、、
大変だけど頑張って直してね・・・でした・・・

やっぱりここはだめか・・・どうやって500近い記事を移行するか。。。
うんもう一つ方法がありました・・・作ってしまえと・・・

まずfc2ブログの管理画面で、
ホーム > 記事の管理 > 「#」
をクリック(表示件数を100にするとなおよい)。。。

そうすると記事番号が載った表が出るので、
表ごとコピペしてエクセルかなんかに貼って・・・
昇順ソートかけて・・・・数式で前後に「blog-entry」や「.html」が付くように加工して。。。
1列目のデータをメモ帳にコピペしてーーーの
そうすると以下のようなパーマリンクのリスト(今回は便宜上「slug.txt」という名前で)ができまして・・・
(あえて記事番号29が欠番の部分を引っ張ってます)

・・・
blog-entry-24.html
blog-entry-25.html
blog-entry-26.html
blog-entry-27.html
blog-entry-28.html
blog-entry-30.html
blog-entry-31.html
blog-entry-32.html
・・・

ここまでは前座

ここからが本番で。。。自由にプログラムですね・・・

用意するのは
①上記の説明で書いた記事番号のリスト(slug.txt)
②ブログのインポートファイル(今回は「blogdata」という名前で)
(fc2ブログ管理画面 > データバックアップからダウンロードで・・・)
です。

これを使ってワードプレスのパーマリンクに必要な
パラメータ名「BASENAME」というものを埋め込むプログラムをつくりました。
(fc2のブログをバックアップしても「BASENAME」は出てこない)

もろにざっくりですがこんな感じです。
言語はPythonで・・・

 

fileobj = open("blogdata.txt", "r", encoding="utf_8")
fileobj2 = open("slug.txt", "r", encoding="utf_8")
fileobj3 = open("blogdatawithslug.txt", "w", encoding="utf_8")
while True:
line = fileobj.readline()
if line:
fileobj3.write(line)
if "PRIMARY CATEGORY:" in line :
print(line)
line2 = fileobj2.readline()
fileobj3.write('BASENAME: '+line2)
else:
break
fileobj.close()
fileobj2.close()
fileobj3.close()

 

これをやると移行前と後のパーマリンクが、同じ記事番号でインポートされるというわけです。
ただ「.」はサニタイズ。。。つまり不正に使われないよう加工されるしようのためか、
「.html」の部分が「-html」に変わったりするので、
そこは別の手段が必要ですが。。。。

とりあえず記事番号を加工出来たら何とかなる気がしています。

ちなみに29番目である以下の記事をワードプレスに移行したらどうなったかテストもしてみました。
(つまりパーマリンク「blog-entry-30.html」)

目指せBPM+20!単音弾きのスピードアップに向けた練習量の検証(評価編)

本記事では単音弾きスピードアップに向けた検証に関する評価を書きます。行動フェーズで単音練習のため2つの曲をひたすら練習して、Cメジャースケールについてはスピードアップしたが、二重の虹はまだ練習が必要という結果になりました。これについての評価を以下の2つの観点で書きます。・定量的評価:数値からの評価・定性的評価:数値では表せないが特徴からの評価① 定量的評価まずCメジャースケールの練習結果について、BPM+20…

ワードプレスに移行した結果、、、URLちっちゃすぎてすいません。
一応、パーマリンクの記事番号が30でfc2と一致していることを確認できました。

ワードプレス

やべーーー不完全だけど、、、理想の変換作業できちゃったよ。。。
これがブログ移行の課題の1つだったので、
本当にできてしまうかもわかりません。

勉強の意味も兼ねてやってみると、
いろいろがんばれそうです・・・
ところで・・・ギターの出番は・・・ありません

夜中に何してんだ感(7/16の2時になってしまった・・・)
もう・・・というかマジで寝ます。
おやすみなさい。
“ブログ移行の課題。。。連番ルールが原因のリンク切れ問題を効率的に解消せよ” の続きを読む

低スペックの環境だが、様子見でAIボイスチェンジャーで学習させてみた

こんばんは・・・1日すぎてしまいました。。。

前回はオーバードライブのエフェクター自作キットを受け取った話をしました。
GIUで制作講座をやっていただけるようで、、、たぶん1回の講座では無理かと思ってます。

オーバードライブのブランド「Klon Centaur」のクローンキットを購入

こんばんは…また大変な1週間の始まりです。というかあと1週間で1年おわりですよ!(◎_◎;)昨日はボイスチェンジャーのために、悪条件の環境下で学習プログラム走らせました。見事にメモリ不足でプログラムが強制終了してしまいました。(つまり、学習失敗です)まぁあんな悪条件でしかも、調べるためにブラウザ開いたりしてたのでメモリ足りないのはそりゃそうだ…試しにもう一回、他のソフト立ち上げず、VMのメモリ上限にしてリトライ…

やっぱり3月はいろいろなことが立て込んで大変ですね・・・
あと以前のボイスチェンジャーの学習プログラム、、、PC触らないで7時間待ったてみたら15000回学習が走りました。
(プログラムを動かすところからだったので、ここで中断)

環境的にエラー不可避??AIボイスチェンジャーを触ってみた

こんばんは…昨日の下りもあって、未だにボイスチェンジャーの下りから脱出できませんボイスチェンジャー機能付きマイクのレビューこんばんは…最近不定期な更新ですいません。前回はパワーコードの右手ブリッジの研究記事を書きました。パワーコードのために右手をブリッジにかける汎用的なフォームを研究してみたこんばんは…徐々に暖かくなってきましたね♪それでも朝は寒くてつらいのですが・・・右手ミュートの意味を考えながらパ…

ちなみに公式サイトはこちらです。
サイトの説明やいろいろな人の説明を見る限り、学習は10万単位走らせてるよう・・・

・・・全然足りんわ・・・

まぁプログラム動かしてみたかったのと、
スペック的に無謀(HDD、VM環境化、GPUなし、メモリ3GBって)だったので、
本当に動くことさえ確認できればと思いました。

こうなったらそういうのにあったクラウド環境を手配するしかないですね。。。
Google Colaboratoryというのが紹介されてたので使ってみようかな・・・。
(クラウド環境ならAWSが有名???なんのことかな・・・
AI開発しようものなら必要なサービス多くて課金にもなるためいったん保留です)

せっかくボイスチェンジャーという音楽とプログラムをつなぐネタが見つかったし。。。
ほとんどギターからはなれてるけどな・・・エフェクターや宅録が軸足になってるので0%ではない
ネットサーフィンで調べられるならと並行で研究してるところです。

エレキギター始めたときにモチベーション上げるために、
単純なテクのコツを研究するだけでなく、
エレキギターからの複数のスキル展開ができればというのは、ずっと私が望んでるすすめ方です。

今回はその大きな着地点の一つになりそうなので頑張ります。
ではではおやすみなさい。

環境的にエラー不可避??AIボイスチェンジャーを触ってみた

こんばんは…昨日の下りもあって、
未だにボイスチェンジャーの下りから脱出できません

ボイスチェンジャー機能付きマイクのレビュー

こんばんは…最近不定期な更新ですいません。前回はパワーコードの右手ブリッジの研究記事を書きました。パワーコードのために右手をブリッジにかける汎用的なフォームを研究してみたこんばんは…徐々に暖かくなってきましたね♪それでも朝は寒くてつらいのですが・・・右手ミュートの意味を考えながらパワコを弾いてみたこんばんは・・・3月も折り返しですよ・・・そろそろ桜が咲くころかな。。。前回はガルパ4周年ゆえにもっている…

単純にボイスチェンジャーを手に入れるだけなら、
やはりVT-4とかがいいのかもしれないが…
VTuberが流行り出してる中でボイスチェンジャーの選択肢が1つですみたいなのはちょっと…

あと自分がコンピュータでプログラミングとかしてる以上、
何かしらの手を打ってみたいものです。
その感覚をなぜ宅録に費やさないし。。。普段iPhoneのくせに…
ということでAIのボイスチェンジャーを調べてました。

「ピッチやフォルマントをいじるところからやれよ」
ってなるかもしれませんが…
調べてみたらAIでキャラの声に変換できるツールを見つけたもので…
その方が面白いかもRoseliaの声とかできちゃう系???

やはりディープラーニングを駆使するようです。
つまりなんかしらのキャラのサンプル音声があって、
その音声から特徴的な部分をとって、
それをデータとして組み込むのですが…

私のHDDでしかもVMのUbuntu
何このどうしようもない環境…すくなくも学習に向いてない環境です。

サムネイル

一応これが学習してる時に撮れたデータです。
なるほどわからん感あるので、説明できるところだけ…

おそらく音声データをランダムに数個取って、
学習かけてみては計算に必要な係数を更新して…
それをめちゃくちゃ繰り返してるといったところでしょうか。
その途中段階のログを取ってるというわけです。
(説明無理!!!!)

まぁ自分の環境的にメモリ不足で、
めちゃくちゃプログラムが落ちます。
十分に学習できない場合データも取れない仕様、、、これは環境が終わってる

宅録とプログラミングという2つのスキルをつなぐもののように感じてるので、
もう少し調べてみたいですね

ではでは、おやすみなさい😴
“環境的にエラー不可避??AIボイスチェンジャーを触ってみた” の続きを読む