从Facebook页面中提取粉丝数据库

时间:2010-11-09 17:32:02

标签: php facebook csv extract facebook-page

我正在尝试导出Facebook页面粉丝。

我发现的距离越近this article

它声明:

  

从Facebook页面获取粉丝是   Facebook API尚未支持。   幸运的是,Facebook的Web界面   使用简单的AJAX / JSON调用来提供   查看页面时的数据。查看页面时的数据。

他解释了他的所作所为:

  

我将此数据设为免费的策略是   嗅探网络流量   Wireshark工具,然后重放HTTP   使用带有ruby脚本的ruby script.calls调用。

我对ruby一无所知,所以我开始尝试在其中一条评论中留下PHP脚本,其中一篇:“Etienne Bley”

该脚本与this类似。

该脚本说您可以下载Charles Proxy来查找此变量:

$cookie
$node_id
$post_form_id
$fb_dtsg

当我使用Charles Proxy Soft,并以管理员身份登录时,我得到: alt text

从那里我得到我猜的是cookie变量:

alt text

BTW分享整个cookie是否安全?它有用吗? (如果是我将尽快编辑)

该剧本还说:

// set settings in these 4 lines from results of charles when getting the 2nd page of "Get All Fans" in FB ( you need to be admin of fan page to do this )

我无法理解他的意思:getting the 2nd page

所以,我的问题:

1)这些变量是什么?

2)他们的价值观是什么?我应该如何获得它们?

3)要正确设置此脚本是我需要使用此脚本的唯一方法吗?

我希望这个问题很清楚,如果没有,请提出你需要的任何问题!

提前致谢!

2 个答案:

答案 0 :(得分:2)

我不知道Charles Proxy Soft,但我使用了Chrome的优秀Inspector来跟踪请求。

步骤:

  1. 使用Chrome导航到您感兴趣的Facebook页面
  2. 打开Inspector(Windows上的CTRL + Shift + J),转到“资源”选项卡和“启用资源跟踪”。
  3. 在Facebook页面上,点击页面左侧粉丝框中的“全部查看”。
  4. 滚动到粉丝列表的底部,然后点击“下一步”
  5. 在“资源”标签中,您将收到/ajax/social_graph/fetch.php的请求。单击它,在标题选项卡中,您将看到您需要的内容。在我的例子中: Chrome Inspector
  6. 我相信你可以用一百个不同的其他程序来做到这一点,我觉得使用Chrome更容易,因为它已经存在了:)

答案 1 :(得分:0)

好吧,所以看起来这很简单。我建议您获取Fiddler的副本以自行检查此计划。

我打开了一个粉丝页面,去查看粉丝,然后点击下一页。我看到http://www.facebook.com/ajax/social_graph/fetch.php?__a=1的POST请求。我得到的是一个非常好的JSON数组,包含所有的粉丝。

如果我们检查发布的变量,那就很明显......

edge_type = fan
page = 1
limit = 100
node_id = 123123123123123123123 (ID of the fan page I'm assuming)
class = FanManager
post_form_id = 97823498723498 (No idea, but I bet you can get this from the dialog)
fb_dtsg = a1s3d5f (No idea)
lsd = 
post_form_id_source = AsyncRequest

无论如何,您感兴趣的是页面和限制。我打赌如果你把页面设置为0并限制为500或者其他什么,你会得到你想要的。如果您无法可靠地更改限制,只需将其保留为100并继续增加页面。此外,我在那里有我的cookie,包括会话信息。你将如何获得这些并从PHP发布我不知道,但我希望这能为你提供一些东西。

再次,获取Fiddler,检查浏览页面时会发生什么。