有没有办法从Twitter获取指定用户的所有推文?

时间:2010-06-22 12:01:19

标签: php twitter

我想编写一个函数来获取指定用户的所有推文,但最近只返回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 个答案:

答案 0 :(得分:8)

Twitter有一个API,你应该查询它来检索推文等数据。它比抓取HTML效率更高。

statuses/user_timeline API服务返回来自任何未受保护用户的推文列表。这是此服务的example,配置为检索用户FRKT_的推文(就是我)。您可以通过多种方式自定义返回的数据,例如将count变量附加到网址like so,以指定您要检索的推文数量。

您应该使用诸如SimpleXML之类的XML解析器,而不是像您演示的strpos之类的其他字符串函数来解析从API返回的数据。

答案 1 :(得分:0)

Twitter Libraries列出了用于php的库。如果你能抓住一个用户的所有推文,我恐怕我不知道但是lib应该是一个很好的起点。

答案 2 :(得分:0)

通过调用GET statuses/user_timeline,每位用户最多只返回3200条推文,详情请点击此处: https://dev.twitter.com/discussions/1157