はてなAPIでブログ記事を取得して変更されたものはDBを更新する
前回のつづき。ブログの更新をDBに反映させる。
成果物
Hatena.Blog.API.Entries.Pagenation.Marge.201703051054
開発環境
- Linux Mint 17.3 MATE 32bit
- SQLite 3.8.2
- Python 3.4.3
はてなブログAtomPub - Hatena Developer Center
前回まで
http://ytyaru.hatenablog.com/entry/2017/07/02
http://ytyaru.hatenablog.com/entry/2017/07/05
http://ytyaru.hatenablog.com/entry/2017/07/17
気になる点
過去の記事も更新されている可能性があるため、全件取得せねばならない。バックアップ頻度や記事数が多いとサーバ負荷がかかる。
- 過去ブログの更新もすべて確認する
- 過去ブログの更新はすべて確認しない(DB内の最新以降の日付のものを挿入するだけ)
- 過去ブログの更新対象はDB確認日時以降のupdatedをもつ記事とする
B,Cのように選択できたほうがサーバ負荷をかけずに済むかもしれない。しかし、更新した記事があったことを忘れてしまいB,Cを行えば更新漏れが生じることになる。
「記事の公開後は記事を修正しない」と仮定すればCでもOK。しかし、実際は公開後にも追記や修正などが起こりうる。毎回全記事を更新確認したほうが安全にバックアップできる。
所感
これでバックアップは完璧。
ついにMarkdown形式データのバックアップが全件できた。満足満足。
実行時点でファイルサイズは5.8MBだった。はてなのエクスポートでは3.0MBだった。
APIではMarkdownとHTML両方を保存しているが、エクスポートはHTMLだけ。そのせいで約2倍になっていると思われる。