片想いは檸檬の味ツール

ツイッターの片想いを調べるツールです。。。って、「絡まったぁ」の整備前、と、フォロされているけど、フォローしなくちゃ駄目だったのかなぁ、を調べられます。

# フォロー返しが、得意じゃないもので、ちょっと相手をログを見てからフォローしてます。
# 逆に、フォローするけど連絡はしません。「ぼけ突っ込み」をしているのは私 @moonmile です。

さて、apiの回数制限の関係から本来ならば、jQuery を使うと良いのですが、実験用ツールなので、そのまま公開しちゃいます。

image

こんな感じに、

  • 両想い 相互フォローの場合は、ピンク
  • 片想い 自分だけがフォローしている場合は、レモン色
  • フォローされているだけだと、ブルー

になります。

http://moonmile.net/php/krm005.php

http://moonmile.net/php/krm005.php?id=アカウント

のようにアカウントが指定できます。

結構重たいので、1,000人しかチェックしていません。

api 的には、statuses/friends を使っているのですが、本来は friends/ids, followers/ids を使って、詳細情報を拾ってくるのが筋です。ただ、ids のほうは、一度に300名ぐらい拾ってこれるのですが、ID のみなので、その後の詳細を拾うために api 制限にすぐ引っ掛かります。それゆえ、statuses/friends のほうがいいんですなぁ。まあ、ID のほうは、別途使い道があるので、またの機会に。

私の場合

フォロー 105 フォロア 109 相互 68 トータル 146

な数値になります。これが、どのくらいが適正(?)なのかは不明ですが、幾人か統計を取ってみれば平均値みたいなのが出るでしょう。そうすると、バランスが悪い人は「営業目的かな?」ってな訳で、避けることができます。

そんな訳で、ソースも公開しておいます。ローカルでPHPが動く環境にすると、色々調べられますよ。

 <?php
if ( $_GET['id'] != &quot;&quot; ) {
 $username = $_GET['id'];
} else {
 $username = 'moonmile';
}
$cursor = &quot;-1&quot;; 
?>
<html>
<head>
<meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; />
<title>フォロー/フォロア of <?= $username ?></title>
</head>
<body> <?php $cnt_fre = 0;
$cnt_fol = 0;
$cnt_ff  = 0;
$cnt = 0;
$users = array(); // friendsを取得
for ( $i=0; $i<10; $i++ ) { $url = &quot;http://api.twitter.com/1/statuses/friends/&quot;.$username.&quot;.xml&quot;;
$url = $url .&quot;?cursor=&quot;.$cursor; $rss = simplexml_load_file($url); foreach ( $rss->users->user as $user ) {  $v = new stdClass;
 $id = $user->id;
 $v->id = $user->id;
 $v->name = $user->name;
 $v->sname = $user->screen_name;
 $v->icon = $user->profile_image_url;
 $v->lang = $user->lang;
 $v->friends = true;
 
 $users[(string)$id] = $v ;
 $cnt++; 
 $cnt_fre++; // echo &quot;<tr><td>&quot;.$cnt.&quot;<td>&quot;.$id.&quot;<td>&quot;.$name.&quot;<td>&quot;.$sname.&quot;<td>&quot;.$icon.&quot;<td>&quot;.$lang.&quot;</tr>\n&quot;;
} $next = $rss->next_cursor;
$prev = $rss->previous_cursor;
/*
if ( $prev != &quot;0&quot; ) {
 echo &quot;<a href='krm005.php?id=&quot;.$username.&quot;&cur=&quot;.$prev.&quot;'>prev</a> \n&quot;;
}
if ( $next != &quot;0&quot; ) {
 echo &quot;<a href='krm005.php?id=&quot;.$username.&quot;&cur=&quot;.$next.&quot;'>next</a> \n&quot;;
}
*/
 if ( $next == &quot;0&quot; ) break;
 $cursor = $next; }
// followersを取得
$cursor = &quot;-1&quot;;
for ( $i=0; $i<10; $i++ ) { $url = &quot;http://api.twitter.com/1/statuses/followers/&quot;.$username.&quot;.xml&quot;;
$url = $url .&quot;?cursor=&quot;.$cursor;
$rss = simplexml_load_file($url); foreach ( $rss->users->user as $user ) {  $id = $user->id;
 $v = $users[(string)$id];
 if ( $v ) {
  $v->followers = true;
  $cnt_ff++;
 } else {
  $v = new stdClass;
  $v->id = $user->id;
  $v->name = $user->name;
  $v->sname = $user->screen_name;
  $v->icon = $user->profile_image_url;
  $v->lang = $user->lang;
  $v->followers = true;
  $users[(string)$id] = $v ;
  $cnt++; 
 }
 $cnt_fol++;
} $next = $rss->next_cursor;
$prev = $rss->previous_cursor;
 if ( $next == &quot;0&quot; ) break;
 $cursor = $next; } ?> <?= $username ?><hr>
フォロー <?= $cnt_fre ?>
フォロア <?= $cnt_fol ?>
相互 <?= $cnt_ff ?>
トータル <?= $cnt ?>
<hr> <table>
<tr>
 <td>No.
 <td>ID
 <td>フォロー
 <td>フォロア
 <td>名前
 <td>アカウント
 <td>アイコン
</tr> <?php
foreach ( $users as $v ) {
 
 if ( $v->friends == true && $v->followers == true ) {
  $bgcol = &quot;pink&quot;;
 } else if ( $v->friends == true ) {
  $bgcol = &quot;lightyellow&quot;;
 } else {
  $bgcol = &quot;aliceblue&quot;;
 }
 echo &quot;<tr style='background-color: &quot;.$bgcol.&quot;'>&quot;;
 echo &quot;<td>&quot;.$cnt;
 echo &quot;<td>&quot;.$v->id;
 if ( $v->friends == true ) {
  echo &quot;<td>○&quot;;
 } else {
  echo &quot;<td>-&quot;;
 }
 if ( $v->followers == true ) {
  echo &quot;<td>○&quot;;
 } else {
  echo &quot;<td>-&quot;;
 }
 echo &quot;<td><a href='http://twitter.com/&quot;.$v->sname.&quot;'>&quot;.$v->name.&quot;</a>&quot;;
 echo &quot;<td><a href='krm005.php?id=&quot;.$v->sname.&quot;'>&quot;.$v->sname.&quot;</a>&quot;;
 echo &quot;<td><img src='&quot;.$v->icon.&quot;' width='48' height='48' />&quot;;
 echo &quot;</tr>&quot;;
 $cnt--;
} ?>
</table>
</body>
</html>
カテゴリー: 開発 パーマリンク