Hope is a Dream. Dream is a Hope.

非公開ブログは再開しました。

wordpressへhatenaブログ記事の自動投稿

wordpressへhatenaブログ記事の自動投稿

hatenaブログでは登校データをMT(MovableType)形式で書き出すことができます。

 調査

Movable Type 3.2 マニュアル - Movable Typeの読み込みフォーマット

WordPressへの移行 – はてなからのデータ移行

問題

  • 画像は、はてなフォロライフのリンクになってる
  • はてダPlusで過去にアップしたファイルのリンクは変になってる
  • 同日投稿の記事の順番が変になってるケースあり => 見逃せる
大筋良いけど、微妙に駄目。そんな状況でした。リンクが変になってるのは、プラグインで後から見つけられるんで、今のところ放置。

Step5 リンク切れをチェック

  • WordPressプラグインで「Broken Links」ってのがあるんですが、入れて暫く放置しとくと、サイト内のリンク切れを勝手に探してくれます。「はてダPlusで過去にアップしたファイルのリンクは変になってる」ってのは、このプラグインで知りました。
  • はてなの場合、「はてなキーワード」ってのがあって、勝手にリンクが貼られているケースがあるんで、そういったリンクは全部「Unlink」でリンク解除。
過去にアップしたファイルのリンクが変になっているのは、その場で修正。たまたま私は、アップしたファイルは1つだけだったので、すぐに修正できました。 後は、純粋にリンク切れをしているURLがあったんですが、それは追々直していく予定です。

開発用のwordpressを作成

僕が使っているレンタルサーバにはwordpressインストール機能がついているので、wordpressは1分で作れます。とても楽。

開発用Wordpress

http://fififactory.com/wp-dev/

SnapCrab_NoName_2015-2-14_9-54-25_No-00

とりあえずインポート

hatena記事をwordpressにインポートする。

SnapCrab_NoName_2015-2-14_9-56-10_No-00

ツールを調べると、結構沢山でてきた。MVインポーター風のツールをインストール。

SnapCrab_NoName_2015-2-14_9-58-35_No-00

 

記事は特に問題ないです。

自動投稿

本当にしたいのはこっちなのです。

自動投稿用環境

研究用Wordpress

http://www.fififactory.com/rd-wp/

SnapCrab_NoName_2015-2-14_9-54-33_No-00

 調査

[python] [twitter] WordPressに自動投稿するスクリプトを作ってみた

  • HTMLの実体参照文字をUnicode文字へ変換する
  • twilog.org からデータを取得し,返す
  • WordPress へ記事を投稿する
  • 前日のつぶやきを投稿する

[Python]xmlrpclibを使ってブログにエントリ投稿する方法

重要なのは以下の箇所である。 import xmlrpcself.server = xmlrpclib.ServerProxy(url)entry_id = server.metaWeblog.newPost(...) 非常にスッキリとした仕様であることが分かる。

調べていると、xmlrpc.phpというwordpressAPIをたたくみたい。これは/wp/フォルダにあった。ためしにブラウザで直接アクセスするとおこられる。

http://fififactory.com/rd-wp/wp/xmlrpc.php

さて上の方法を使って実際にためしたら、とても簡単にできた。

SnapCrab_NoName_2015-2-14_10-27-6_No-00

あとは、元の記事を切り貼りして、日付毎に投稿するだけだ。

ロードマップ

  1. はてなブログの記事をMT形式でエクスポート
  2. MT形式から各要素をパース・整形
    1. 文字コードの学習
  3. 自動投稿用プログラムの作成
    1. wordpressのカテゴリ情報付加方法の調査
  4. cronに登録して自動投稿

 

非常に参考になった記事

 

俺の彼女と幼なじみが修羅場すぎる12 (GA文庫)

俺の彼女と幼なじみが修羅場すぎる12 (GA文庫)