Пуленепробиваемые подписчики в Твиттере рассчитывают с PHP?

Я пытаюсь отобразить много подписчиков в Твиттере, использующих 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');

Я попробовал жесткое кодирование имя пользователя, но эффект является тем же. Я задаюсь вопросом, хорошо ли этот код, так как он ДЕЙСТВИТЕЛЬНО иногда работает. Сначала я предположил, что, возможно, это была ошибка Твиттера, но это происходит путь к часто для имения место.

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

1
задан Justine 1 July 2010 в 15:20
поделиться

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;

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

2
ответ дан 2 September 2019 в 23:22
поделиться

Я согласен с Lizard в том, что Твиттер сильно не работает, и это может вызвать ваше непоследовательное поведение. Я использовал структуру вызовов, аналогичную вашей, для связи с 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 )

0
ответ дан 2 September 2019 в 23:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: