防弹Twitter粉丝依靠PHP?

时间:2010-07-01 15:20:14

标签: php twitter

我试图在给定用户名的情况下使用PHP显示一些Twitter粉丝。我的代码如下所示:

function tweet_count() {

    $name = get_option('ws_twit');
    $twit = file_get_contents('http://twitter.com/users/show/'.$name.'.xml');
    $begin = '<followers_count>'; $end = '</followers_count>';
    $page = $twit;
    $parts = explode($begin,$page);
    $page = $parts[1];
    $parts = explode($end,$page);
    $tcount = $parts[0];
    if($tcount == '') { $tcount = '0'; }
    echo $tcount;
}

它通常有效...除非它没有。大多数情况下,它会抛出错误:

  

无法打开流:HTTP请求失败!第8行[文件名]中的HTTP / 1.1 400错误请求

第8行是:$twit = file_get_contents('http://twitter.com/users/show/'.$name.'.xml');

我尝试用硬编码用户名,但效果是一样的。我想知道这段代码是否合适,因为它有时会起作用。首先我假设可能是Twitter错误,但事情往往就是这种情况。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

很可能是因为傻瓜的能力下降太多了!

但您可能还想尝试以下内容。

$name = get_option('ws_twit');
$twit = file_get_contents('http://twitter.com/users/show/'.$name.'.xml');
preg_match_all("|<followers_count>(.*)</followers_count>|U",$twit,$followers);
$tcount = $followers[1];
echo (!empty($tcount)) ? $tcount : 0;

<强>更新 我刚尝试在浏览器中刷新网址几次.. http://twitter.com/users/show/TWITTERNAME.xml有些工作但是我确实收到了错误请求错误,这是deff twitter。

答案 1 :(得分:0)

我同意Lizard的说法,Twitter很多,这可能会导致你的行为不一致。我使用了类似于你的呼叫结构来与Twitter通信,但是我使用了这个URL而不是/users/show/name.xml:http://twitter.com/statuses/user_timeline.xml?user_id=#######我不确定这是否会有所帮助,但它值得一试。也许这会更可靠,即使它也有一段时间也会下降。

(此外,Twitter今天特别糟糕:http://dl.dropbox.com/u/2320369/twitter_problems.png