Пуленепробиваемые подписчики в Твиттере считаются с PHP? - PullRequest
1 голос
/ 01 июля 2010

Я пытаюсь отобразить количество подписчиков в Твиттере, используя PHP с указанным именем пользователя.Мой код выглядит так:

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-запрос не выполнен!Неверный запрос HTTP / 1.1 400 в [имя_файла] в строке 8

Строка 8: $twit = file_get_contents('http://twitter.com/users/show/'.$name.'.xml');

Я пытался жестко закодировать имя пользователя, но эффект тот же.Мне интересно, если этот код в порядке, так как он иногда работает.Сначала я предположил, что, возможно, это была ошибка в Твиттере, но часто случается так.

Спасибо за вашу помощь!

Ответы [ 2 ]

2 голосов
/ 01 июля 2010

Скорее всего, из-за способности твиттеров так сильно падать!

Но вы также можете попробовать следующее.

$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;

ОБНОВЛЕНИЕ Я простонесколько раз пытался обновить URL в браузере .. http://twitter.com/users/show/TWITTERNAME.xml и некоторые работали, но я получил ошибку Bad Request, это deff twitter.

0 голосов
/ 01 июля 2010

Я согласен с Lizard в том, что Twitter сильно отключен, и это может привести к вашему непоследовательному поведению. Я использовал такую ​​же структуру вызовов, как и ваша, для связи с Twitter, но вместо /users/show/name.xml я использовал этот URL: http://twitter.com/statuses/user_timeline.xml?user_id=####### Я не уверен, поможет ли это, но это стоит попробовать. Может быть, это будет более надежным, даже если когда-нибудь и пойдет на спад.

(Кроме того, Twitter был особенно плох сегодня: http://dl.dropbox.com/u/2320369/twitter_problems.png)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...