2010-11-09 1 views
2

Я пытаюсь экспортировать Facebook-страницу.База данных экстрактов вентиляторов с сайта Facebook

Чем ближе я нахожусь this article.

Она гласит:

Getting вентиляторы со страницы Facebook является пока не поддерживаются API Facebook. К счастью, веб-интерфейс Facebook использует простой вызов AJAX/JSON для подачи данных при просмотре данных page.the при просмотре страницы.

И он объясняет, что он делает так:

Моя стратегия, чтобы установить эти данные бесплатно было нюхать сетевого трафика с помощью Wireshark инструмента , то переигрывать HTTP вызовы с рубином script.calls с рубиновым скриптом.

Я не знаю ничего о рубин, так что я начал пробовать с PHP скрипты, оставленные в одном из комментариев, тот по: «Этьена Bley»

Сценарий идет как this.

Сценарий говорит, что вы можете скачать Charles Proxy найти эти переменные:

$cookie 
$node_id 
$post_form_id 
$fb_dtsg 

Когда я использую Charles Proxy Soft, и войти в систему как администратор, я получаю это: alt text

И оттуда я получить то, что я предполагаю, что это переменное печенье:

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

Я не знаю о Charles Proxy Soft, но я использовал отличный инспектор Chrome для отслеживания запроса.

Шаги:

  1. Используйте Chrome, чтобы перейти к странице Facebook вы заинтересованы в
  2. Откройте Инспектор (Ctrl + Shift + J на ​​Windows), перейдите на вкладку "Ресурсы" и «Включить отслеживание ресурсов».
  3. На странице Facebook нажмите «Просмотреть все» в поле «Вентиляторы» в левой части страницы.
  4. Прокрутите вниз список вентиляторов и нажмите «Далее»
  5. На вкладке «Ресурсы» у вас будет запрос на /ajax/social_graph/fetch.php. Нажмите на это, и на вкладке «Заголовки» вы увидите, что вам нужно. В моем примере: Chrome Inspector

Я уверен, что вы можете сделать это с сотней различных других программ, я считаю, что проще использовать Chrome, так как он уже там :)

+0

уверен, я буду дать ему пытаться!! швов достаточно просто! Благодаря!! – Trufa

+0

Спасибо, я вижу все, кроме «Cookie:», его просто нет. Я использовал его с cookie, который мог бы получить (с другим мягким), и получил следующее: Warning: fopen (posh_fb_output.txt) [function.fopen]: не удалось открыть поток: разрешение отклонено в/home/pimod/public_html/fanlist/fanlist .php в строке 61 – Trufa

+0

@Trufa это проблема с разрешениями на вашем веб-сервере. Вы должны убедиться, что php может писать в каталог, в котором вы находитесь («fanlist» в этом случае). Если вы используете FTP-клиент, найдите разрешения этой папки и добавьте «write» для «group» и «other» (если разрешения являются числовыми, это будет '777'). Если у вас есть доступ к консоли, запустите 'chmod 777/home/pimod/public_html/fanlist'. – MartinodF

0

Хорошо, так кажется, все это просто.Я рекомендую получить копию Fiddler, чтобы проверить этот план самостоятельно.

Я открыл страницу поклонников, отправился на просмотр фанатов и нажал следующую страницу. Я видел запрос POST для http://www.facebook.com/ajax/social_graph/fetch.php?__a=1. То, что я получил, было очень приятным массивом 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, проверьте, что происходит, когда вы просматриваете страницу.

 Смежные вопросы

  • Нет связанных вопросов^_^