概要: 僕はどうやって既存の記事を Tumblr へインポートしたか
ちなみに Tumblr API の投稿用データの params は下記参照 → <http://www.tumblr.com/docs/en/api/v2#posting http://www.tumblr.com/docs/en/api/v2#posting>
JSON を読み込んで Tumblr へデータを投げるスクリプトを書く 僕が実際に使ったのは以下 → https://gist.github.com/nyarla/5611118 https://gist.github.com/nyarla/5611118
ちなみに最初は CoffeeScript + Node.js でスクリプトを書いてた
- しかしながら、なんか一部の記事がうまいこと post できなかった
なので、不慣れながらも Ruby でやり直した
生データを 200 記事ぐらいに分割する 2013 年 5 月現在、Tumblr API による Post は最大数が制限されてる 主にスパム対策が目的らしい
最大数は、1 user につき 250 post / day
- あと post 数の制限は日本時間だ 14:00 を過ぎた辺りでリセットされる
それとスクリプトのテスト段階で全記事投げると制限値で死ぬ 僕の場合死にました/(^q^)\
ちなみに僕の場合、下記の様な感じで記事を分けた 1. 普通の記事 (2 と 3 以外の記事すべて)
内部リンクを含む記事 (URI 変更に伴うリンク切れ防止のため)
分割した生データを Tumblr に投げる(ここからややこしい) 1. まず最初に上記の 普通の記事 を最初に投げる そしてその際のレスポンスをきちんと記録しておく → これは後でリダイレクト用 URI map 等で使用するため
これは割とすんなり行った
アフィの審査が終わったら、今度はアフィを含む記事を投げる これの手順はまあ最初と一緒
そして内部リンクを含む記事を投稿する前に、内部リンクを書き換える これには先に記録したレスポンスデータを使用
ちなみに僕はこのレスポンスデータを
.htaccess
に加工してた → これはあとでブログの URI をリダイレクトさせるため→ ちなみに URI の検索には
grep
使った内部リンクを書き換えたら残った記事を Tumblr に投げる この時一部記事同士の依存関係で修正できなかったのも一緒に投げた → 依存解決できなかったヤツは Tumblr に投稿してから手作業で修正
古い URI から新しい URI にリダイレクトさせる これは URI map data から
.htaccess
作って対処んで、久しぶりに
.htaccess
書いたもんだからちょっとハマった最後新しく Tumblr に移植したブログの微調整等する
- おわり