我正在尝试导出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,并以管理员身份登录时,我得到:
从那里我得到我猜的是cookie变量:
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)要正确设置此脚本是我需要使用此脚本的唯一方法吗?
我希望这个问题很清楚,如果没有,请提出你需要的任何问题!
提前致谢!
答案 0 :(得分:2)
我不知道Charles Proxy Soft,但我使用了Chrome的优秀Inspector来跟踪请求。
步骤:
/ajax/social_graph/fetch.php
的请求。单击它,在标题选项卡中,您将看到您需要的内容。在我的例子中:
我相信你可以用一百个不同的其他程序来做到这一点,我觉得使用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,检查浏览页面时会发生什么。