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の判定を追加しました。これがないと昨日の記事のプログラム例そのものが、判定に使われてしまいプログラムエラーになるためです。

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


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


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

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

ではでは、おやすみなさい。
にほんブログ村 音楽ブログ エレキギターへ

# サムネが思いつかないのでいつもので・・・
# Cocoonでブログカードを効率的に作る仕組みを考えているのですが、モジュール突っ込んだらエラーになって苦戦・・・そもそも自前サーバだからレンタルサーバに移したらどうなるのかがわからん・・・
スポンサーサイト



コメント

非公開コメント

プロフィール

enrock2020

Author:enrock2020
1990年生まれ。神奈川出身。趣味はエレキギター、カラオケ、音ゲー、プログラミング。好きなアプリはバンドリ、ようつべ

はじめまして、最近エレキギターをやりはじめました。全然できないので、あの手この手で勉強していきます。よろしくお願いします。

Twitter: @enrock2020
ブログの方針: こちら

アクセス

検索フォーム

ブロとも申請フォーム

QRコード

QR