akiraaniの日記: MTファイルコンバート用のメモ
参考:Movable Typeの読み込みファイル・フォーマット、bk1アフィリエイトの話
読み込み処理の流れ
- 読み込んだMTファイルストリームを--------\nに分割し、エントリに分ける。
- エントリを-----\nで分割してメタデータセクションと複数行フィールドセクションに分ける
- カテゴリをカンマ区切りでマージする
- メタデータセクションからデータを取り出す
- 複数行フィールドセクションからBODY(本文)を取り出す
- それ以外の複数行フィールド(EXTENDED BODY、EXCERPT、COMMENT、PING)はさわらない
- BODYを「本文」「おすすめ度」「アフィリエイトリンク行」に分割する
- おすすめ度を数値変換する
- アフィリエイトリンク行のURLを抜き出す
- アフィリエイトURLの属性を分析、分割する
データ形式
EntryDataクラス
メンバ
string AUTHOR
string TITLE
DateTime DATE
string PRIMARYCATEGORY
string [] CATEGORYS
string body
int bookrank
string AffiliateBody
AfURL [] AffiliateLinks
string OtherFields
AfURLクラス
ここからはMTファイル見て考えること
bk1URLオプションリスト
aid:アフィリエイトID
bibid:ブックID
volno:検索の場合に何ページ目かを示す4桁の数字?
srch:検索範囲の指定。4ならデータすべて、2とかだと注文可能なもののみのようだ
st:指定された様子なし。不明
auid:著者ID
idx:0~3、検索時のみ使われている。不明
s1:ソート順。za,dd,daの三種類使ってる。ddが発行日順、zaが発送時間順、daが発行日逆順
kywd:検索キーワード:キーワード(*)
mode:検索時のみに使われているようだが、一回しか使用されてない。無視してよさげ
kywdflag:検索時にのみ使われているが必須と言うわけではなさそう。実績上0固定
ti:検索キーワード:タイトル(*)
ol:検索キーワード:キーワード
au:検索キーワード:著者(*)
pb:検索キーワード:出版社(*)
pby:検索キーワード:出版日(*)
pbrg:不明。2か3を指定している。2を指定してるのはリニューアル前のみ?
isbn:検索キーワード:ISBN番号。たぶんハイフン抜きの数字で指定するが一度も使ってないので無視してよさげ
age:不明。使った形跡なし。無視してよさげ
gu:不明。使った形跡なし。無視してよさげ
dp:表示件数:10,25,50,100が指定可能
partnerid:アフィリエイトID
sort:URLエンコードされた文字列のようだが、詳細不明。3箇所で使用され全然関係ないのにどれも同じ値なので、おそらく省略可能
authorid:著者ID(*)
Sort:ソート順。za,dd,daの三種類使ってる。ddが発行日順、zaが発送時間順、daが発行日逆順(*)
submit:不明。セッションID?無視してよさそう
submit.x:不明。セッションID?無視してよさそう
submit.y:不明。セッションID?無視してよさそう
word:はてなキーワード。bk1とは関係なし
no:復刊ドットコムの番号。bk1とは関係なし
kywd.x:不明。数字で指定するようだが、無視してよさそう
kywd.y:不明。数字で指定するようだが、無視してよさそう
※(*)は現在使われているもの
MTファイルコンバート用のメモ More ログイン