首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DOM解析Facebook wall

DOM解析Facebook wall
EN

Stack Overflow用户
提问于 2011-03-13 19:46:07
回答 3查看 2.1K关注 0票数 1

我试图解析来自Facebook公开粉丝页面的消息,但它返回一个空白页面。

代码语言:javascript
复制
$source = "http://www.facebook.com/?sk=wall&filter=2";
libxml_use_internal_errors(TRUE);
$dom = new DOMDocument();
$dom->loadHTML($source);
$xml = simplexml_import_dom($dom);
libxml_use_internal_errors(FALSE);
$message = $xml->xpath("//span[@class='messageBody']");

return (string)$message[0] . PHP_EOL;
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-13 20:22:41

另一种方法是使用Graph API中的JSON

代码语言:javascript
复制
$posts = json_decode(
    file_get_contents('https://graph.facebook.com/swagbucks/posts')
);
foreach($posts->data as $post) {
    echo $post->message, PHP_EOL;
}
票数 1
EN

Stack Overflow用户

发布于 2011-03-13 19:50:53

您正在使用的方法将HTML内容作为参数,而不是URL。

在这里,您试图将URL解释为一些HTML内容,而不是它所链接的内容。

使用此方法时,您可能希望尝试处理处理文件或重复内容的方法,如。

票数 2
EN

Stack Overflow用户

发布于 2011-03-13 20:13:00

这不是从Facebook获取数据的正确方式,很明显你想避免创建应用程序。

但好消息是,您仍然可以使用FQL,在Graph API Explorer中尝试以下查询。

在下面的查询中,我们查询了stream表以获取Facebook Developers页面的公共提要:

代码语言:javascript
复制
SELECT message
FROM stream
WHERE source_id=19292868552
AND is_hidden = 0
AND filter_key='owner'

它将返回页面的所有“公共”提要。显然,您可能需要检索更多字段才能创建有意义的结果。

你需要提供一个有效的access_token才能访问公共帖子。阅读更多。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5289147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档