解析Facebook粉丝专页RSS Feed:如何打造标题

时间:2012-10-15 19:22:58

标签: php facebook rss simplexml

我正试图从PHP中为Facebook粉丝页面提取RSS 2.0。

当我从浏览器访问Feed时,没有问题。但是,当我尝试在PHP中使用时,Facebook返回代码以重定向到“升级您的浏览器”通知。当我尝试使用W3C RSS验证器验证Feed时,会发生同样的情况。

因此,Facebook必须有一些逻辑来分析用户代理并提供Feed或“你必须更新”页面。

问题是:如何从PHP中访问该RSS源?

使用SimpleXML或DOMdocument时,我可以直接伪造用户代理标头吗?我知道有一个选项可以使用CURL(可以轻松设置标题)来提取Feed,但我不想这样做。

欢迎任何想法!

1 个答案:

答案 0 :(得分:1)

那些可能也很好奇的人,ini_set()似乎是一个解决方案。

<?php

ini_set('user_agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0');

$url = 'https://www.facebook.com/feeds/page.php?format=rss20&id={your-page-id}';
$xml = simplexml_load_file( $url );
foreach($xml->channel->item as $status){
    // Do something for each News Feed update
}

虽然,当Zuckberberg感觉更新用户代理要求时,谁知道这是否会验证。