从Facebook页面墙或组墙获取数据,以便在个人网站上使用

时间:2010-08-05 18:23:39

标签: php facebook screen-scraping

我想要连接到公共Facebook页面或组,并在个人网站上列出墙上的所有条目。我将在我的服务器上使用PHP,这对我来说是最好的解决方案。或者javascript。

有人可以解释或者提供一个有关如何执行此操作的代码吗?或者只是为了做到这一点所有的步骤?

如果可以处理每个帖子的人,日期,描述等信息,那就太棒了!所以我的布局可以定制。

感谢您帮助我!

4 个答案:

答案 0 :(得分:4)

您需要在stream table上运行FQL并提供您感兴趣的页面或组的ID source_id(fb docs有一些解释和示例)。获得流数据后,您可以更深入地挖掘并通过FQL再次离开此帖子或您需要的任何其他数据。

有许多运行FQL的方法 - 可以在JS API,PHP API或旧的REST API中完成。

答案 1 :(得分:2)

使用他们提供的facebook图表API

使用simplejson解析器的python代码

keyword="old spice"
searchurl='http://graph.facebook.com/search?q='+keyword
resp=urllib2.urlopen(searchurl)
pageData=resp.read()
json = simplejson.loads(pageData)
posts=json['data']
for p in posts:
    postid=p['id']
    username=p['from']['name']
    posterimg=p['icon']
    comment=p['message']

答案 2 :(得分:2)

在JavaScript(jQuery)中。

您可以使用我的备用access_token查看公共组或页面;)

要获得自己的访问令牌,facebook graph explorer可以为您生成一个(以及测试查询)。

在Javascript中,我们向facebook图表发出请求,该图表返回一个JSON对象。回复看起来像this

下面的代码遍历每个条目并打印出消息,如果你查看上面的链接,它会为你提供其他数据字段的命名约定。

例如:

data.data[0].created_time;
data.data[0].from.name;

等。

希望有帮助!

<!DOCTYPE html>
<head>
<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
</head>

<body>

<ul id = 'list'>
<script>

    var graphQuery = 'https://graph.facebook.com/2228101777/feed';
    var authToken = '145634995501895|477bb3c939123a5845afe90d.1-100002565213903|F1VA26jsYL7yBeq2iU6SZX_XXrs'

    var url =  graphQuery +'?access_token='+ authToken +'&callback=?';  

    $.getJSON(url,function(data){                       
        for( i=0; i < data.data.length; i++){
            $("#list").append('<li>'+ data.data[i].message +'</li>');   
            // add some more here if needed
        }               
    }); 

</script>

</ul>
</body>
</html>

答案 3 :(得分:0)

据我所知,你所说的是Web Scraping。你要做的是获取组的URL,使用PHP中的file_get_contents($ url)命令获取文件,然后在PHP中进行分析。

我建议为此修改正则表达式,因为查看Facebook用于墙上帖子的HTML非常重要。您将能够从HTML中获取您正在寻找的信息。

我会发布一些示例代码,但这是在远处的另一台计算机上。不过,应该是一个好的开始。

编辑:添加一些示例代码:

 $URL = "http://facebook.com/group=5343242" (or whatever the URL structure is for the facebook group)
$groupPage = file_get_contents($URL)

以下是正则表达式上PHP页面的链接:

http://www.php.net/manual/en/book.pcre.php