Есть ли способ получить все твиты из твиттера для указанного пользователя? - PullRequest
1 голос
/ 22 июня 2010

Я хотел написать функцию для захвата всех твитов для указанного пользователя, но он возвращает только 20. Самые последние.

Я придумал что-то вроде этого:

function getTweets($user) {

    $page = file_get_contents("http://twitter.com/{$user}");
    $from = strpos($page, "<ol id='timeline' class='statuses'>");
    $to = strpos($page, "</ol>");
    $length = $to - $from;
    $page =substr($page, $from, $length);
    echo $page;
}

getTweets('user_name');

Есть лиспособ обойти это?

Ответы [ 3 ]

8 голосов
/ 22 июня 2010

В Твиттере есть API , к которому вы должны обращаться для получения данных, таких как твиты.Это гораздо эффективнее, чем сканирование HTML.

Служба API statuses / user_timeline возвращает список твитов от любого незащищенного пользователя.Вот пример этого сервиса, настроенного на получение твитов для пользователя FRKT_ (это я).Вы можете настроить данные, которые он возвращает, разными способами, например, добавив переменную count к URL , например, , чтобы указать, сколько твитов вы хотите получить.следует использовать синтаксический анализатор XML, такой как SimpleXML, а не разные строковые функции, такие как strpos, как вы продемонстрировали для анализа данных, возвращаемых из API.

0 голосов
/ 29 августа 2012

Они возвращают максимум 3200 твитов на пользователя, вызывая GET statuses / user_timeline , для получения дополнительной информации смотрите здесь: https://dev.twitter.com/discussions/1157

0 голосов
/ 22 июня 2010

Библиотеки Twitter содержит библиотеки для php.Если вы можете захватить все твиты одного пользователя или нет, боюсь, я не знаю, но библиотеки должны быть хорошей отправной точкой.

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