PHP

アメブロへ楽天APIなどの情報をPHPで自動で投稿する

技術者ならではの発想なのかもしれませんが、楽天や Yahoo が提供している API を使って取得した情報を頑張って整形して、ブログの記事をせっせと書いている人が多いことに気付いた数年前。

これを全部自動化してしまえば効率いいのになって思い、プログラムを作成してヒッソリと運用してきました。

そんなに甘い時代ではない

ただ、そんな小手先の運用が成功するわけもなく、これまでに楽天や Yahoo の API を使った完全自動化アフィリエイトでは、月に 4 万円を稼ぐのが精一杯でした。

まあ、完全自動化で自分の時間を消費しないのであれば十分なのかもしれませんが、要するにブログ記事の内容や狙えるキーワード選定までは自動化できていなかったのが大きな原因なのでしょう。

まあここまで自動化するのは難しいので、皆さん時間を掛けて頑張っているのでしょうけど・・・。

そんな昔から運用しているソースコードも PHP4.3 や 4.4 が主流だった頃のものであり、PHP5.3 が主流になりつつある今ではバッドノウハウも多くなってきたので、ここら辺で公開して活用できる人に使ってもらえればいいかなっと思ってメモがてら残しておきます。

今となっては PHP7.2 だ 7.3 だという時代なので、できればこちらの新しい記事を参考にしてください。

FC2とその他の無料ブログに自動投稿するPHPプログラム以前書いた「アメブロへ楽天APIなどの情報をPHPで自動で投稿する」の反響が良かったので、どうせならアメブロ以外の無料ブログの XML-...

楽天市場商品検索API

まずは、楽天の API から商品情報を取得するクラス。

このクラスには API のリクエスト URL を引数で渡す仕様としています。

もっと効率のいい XML パーサーがあるし、そもそも API からのエラー処理を省いているのが良くないですね。

リクエスト URL は条件に合わせて「楽天ウェブサービス」のサイトを参考に作成して下さい。

アメブロへAtom-XMLで投稿

上記のクラスで html に加工したデータを取得したら、それをアメーバブログに投稿します。

ブログ記事の投稿を受け取るサービスは公開されていて、XML-RPC がまだまだ主流のブログサービスが多い中、アメブロの場合は Atom-XML を採用しています。

下記の関数にブログの記事タイトルと本文、そしてブログの ID とパスワードを渡せば投稿ができます。

これは確か、アメブロのブログを参考にさせてもらったと記憶しています。

そこに Curl のエラー処理をオリジナルで追加しました。

その後、この XML-RPC の口が徐々に制限され完全に投稿ができなくなりました。

まあ、もともと公式なものではありませんでしたしね。

自動投稿用の参考プログラム

これらを利用する php スクリプトを簡単に書いてみると、下記のような感じになります。

ジャンルや値段範囲などの条件も追加できますが、キーワードだけでもランダムに発行するだけで自動化できちゃいます。

サーバに設定するシェルスクリプト

最後に、このスクリプトを cron に登録して放置でいいと思います。

実際にこれでブログが流行る流行らないは別として、こういった手法を応用してもっと画期的なものができるといいですね。

シェルは単純にこんな感じ。(動作確認していません)

あとは cron で 10 分間隔で実行。毎回、キーワードをランダムに取得するなど、いろいろ手を加えてみて下さい。