Quantcast
Channel: つねづね思ふこと 〜 ゲームやアニメの紹介を中心 に、あと気がついたときにプログラムネタも書いてます
Viewing all articles
Browse latest Browse all 153

Twitterの検索結果を自分のホームページやブログに掲載するには?

$
0
0

ブログに各内容は長文になるので、更新するには、文章力と気力と時間が必要です。
とはいえ、なんか少しでも書きたいから、小ネタはTwitterで書いてみるかと使い分けている人も多いでしょう。

さて、そうしてTwitterで書いたのはいいけど、ブログ内にブログパーツとして連携させたいな!となるとややこしい話になってきます。
昔はTwitter自身がRSSを提供していたので、自分のホームページにRSSリーダーを組み込めば終わりだったんですが、2013年3月にAPI1.0提供の終了と共に止めてしまいました。

まあ、その代りとしてtwitterでは、設定でウィジェットを提供しているのでそれを代用してねということなのでしょうが。
ツィッターブログパーツの例

とは言え、ウィジェットはごちゃごちゃ多機能すぎるしカスタマイズ性が少なくて気に要らない。
やっぱりテキスト形式で直接取得したいぜ!、ということで利用していたのが TWS-Feed2

ということで前からTWS-Feedを使って
1.Twitter→2.TWS-Feed 2→(XML)→3.XMLから必要な項目を抽出→4.ホームページに出力

というプロセスをやっていました。

しかし先日、TWS-Feed 2を利用しているこの「つねづね思ふこと」を見ると、リンクがぶち壊れてる!
どうも、1→2にてスクレイピングしていた?フォーマットが変わったらしく、その結果その後の表示結果もおかしくなっていたようだ?
(※2014/11/30にもう一度当時のソースを復元して試してみたらこの問題が発生していませんでした。単なる一時的な問題?)

うーん、これではホームページがとても読めたものではない。
かと言って、あきらめてウィジェットに移行するのも悔しい。

リンクがぶち壊れた内容をよく観察すると、肝心のリンク先URLは含まれた内容に記載されており、正規表現を使って上手く自分で情報を加工すれば、何とか元通りにできそうだ。

かくして
1.Twitter→2.TWS-Feed 2→(XML)→3.XMLから必要な項目を抽出→4.リンクについて、URLのみ更に抽出→5.リンク先がtwitterになるよう加工→6.ホームページに出力

となるよう、以下のように4~5に相当する箇所について↓みたいな感じでソースコードを修正して改善させたりしてました。

$TwitterReaderTemp = simplexml_load_file("http://bit.ly/1uZ74IM");
$TwitterReader = $TwitterReaderTemp -> channel;
$max = (count($TwitterReader) > 5) ? 5: count($TwitterReader);

$i = 0;
foreach($TwitterReader -> item as $Line) {
	$title = str_replace("hiroshikuze: ","",$Line -> title);
	preg_match("/http:\/\/www.orkut.gmodules.com\/hiroshikuze\/status\/[0-9]*/",$Line -> description,$links);
	$link = str_replace("www.orkut.gmodules.com","www.twitter.com",$links[0]);
	echo "<ul><li><a href="\"".$link."\"" target="\"_blank\"" data-mce-href="\"".$link."\"">".$title."</a> [".date("Y/m/d H:i", strtotime($Line -> pubDate))."]</li></ul>\n";
	$i += 1;
	if(4 < $i) { break; }
}

関係ないけど、この修正について24日(月・文化の日振替休日)未明の寝る直前に気が付いて、ちょこちょこ変更していました。
これ自分の趣味のサイトだったから良かったけど、商売でやっているところは祝日だというのに緊急サイト修正が入ったりして大変そうだな。(※2014/11/30時点では前のコードでも起こってないみたいです。)


はじめての正規表現 for Web Creator
藤本 壱 (2013-03-02)
売り上げランキング: 4,351

Viewing all articles
Browse latest Browse all 153

Trending Articles