2

Facebookページのファンをエクスポートしようとしています。

私が見つけたのはこの記事でした。

それは述べています:

Facebookページからファンを取得することは、FacebookAPIではまだサポートされていません。幸い、Facebook Webインターフェースは、単純なAJAX / JSON呼び出しを使用して、ページを表示するときにデータを提供します。ページを表示するときにデータを提供します。

そして彼は彼がこのように何をしているのかを説明します:

このデータを解放するための私の戦略は、Wiresharkツールを使用してネットワークトラフィックをスニッフィングしてから、rubyスクリプトを使用してHTTP呼び出しを再生することでした。rubyスクリプトを使用してcallsを再生します。

私はルビーについて何も知らないので、コメントの1つである「EtienneBley」に残されたPHPスクリプトを試してみました。

スクリプトは次のようになります

スクリプトは、CharlesProxyをダウンロードしてこの変数を見つけることができると言っています。

$cookie
$node_id
$post_form_id
$fb_dtsg

Charles Proxy Softを使用し、管理者としてログインすると、次のようになります。 代替テキスト

そしてそこから、私が推測するのは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)このスクリプトを正しく設定することは、このスクリプトが機能するために必要な唯一のことですか?

質問が十分に明確であることを願っています。そうでない場合は、必要な質問をしてください。

前もって感謝します!

4

2 に答える 2

2

Charles Proxy Soft については知りませんが、Chrome の優れた Inspector を使用してリクエストを追跡しました。

手順:

  1. Chrome を使用して、興味のある Facebook ページに移動します
  2. インスペクターを開き (Windows では CTRL+Shift+J)、[リソース] タブに移動し、[リソース追跡を有効にする] に移動します。
  3. Facebook ページで、ページの左側にあるファン ボックスで [すべて表示] をクリックします。
  4. ファン リストの一番下までスクロールし、[次へ] をクリックします。
  5. [リソース] タブに、 へのリクエストがあります/ajax/social_graph/fetch.php。それをクリックすると、[ヘッダー] タブに必要なものが表示されます。私の例では: Chrome インスペクタ

他の100の異なるプログラムでそれを行うことができると確信しています.Chromeはすでに存在するため、Chromeを使用する方が簡単だと思います:)

于 2010-11-09T18:01:42.683 に答える
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

とにかく、あなたが興味を持っているのは page と limit です。ページを 0 に設定して 500 などに制限すると、探しているものが得られるに違いありません。制限を確実に変更できない場合は、100 のままにして、ページを増やし続けてください。また、セッション情報を含む Cookie がそこにあります。それらをどのように取得して PHP から投稿するのかはわかりませんが、これがいくつかのことを続けるのに役立つことを願っています。

もう一度、Fiddlerを取得し、ページを閲覧したときに何が起こるかを調べます。

于 2010-11-09T17:56:51.767 に答える