Как сканировать Facebook на основе информации о дружбе?

Я аспирант, занимающийся исследованиями сложных сетей. Я работаю над проектом, который включает анализ связей между пользователями Facebook. Можно ли написать сканер для Facebook на основе информации о дружбе?

Я осмотрелся, но пока не нашел ничего полезного. Кажется, Facebook не любит такую ​​активность. Могу ли я положиться на API Facebook?

Обновление (08 января 2010 г.): Большое спасибо за ответы. Думаю, тогда мне, вероятно, нужно связаться с Facebook напрямую. Ваше здоровье

Обновление (16 февраля 2011 г.): Только что вышла новая книга «Майнинг в социальной сети». В нем есть глава, полностью посвященная майнингу Facebook с помощью Python. Ваше здоровье.


person knguyen    schedule 07.01.2010    source источник
comment
Вы пытались связаться с Facebook и спросить, предоставляют ли они анонимные данные исследований?   -  person Lasse V. Karlsen    schedule 07.01.2010
comment
Я предлагаю вам прочитать (и соблюдать) их политику, особенно раздел о хранении и использовании данных, которые вы получаете от нас, на сайте developers. .facebook.com/policy   -  person Dirk Vollmar    schedule 07.01.2010
comment
Я помню, как видел «приложение», в котором оно анализировало, кто из ваших друзей также дружит с другими, чтобы построить «сеть». Похоже, они могут использовать то, что вам нужно. Кажется, это называлось круг общения или что-то в этом роде.   -  person David Brunelle    schedule 07.01.2010
comment
@David Brunelle Есть колесо друга (visualcomplexity.com/vc/project.cfm?id =501), это немного похоже на то, что вы описываете.   -  person Philippe Beaudoin    schedule 07.01.2010


Ответы (5)


К сожалению, вы не можете полагаться на Facebook API. Чтобы получить информацию о друзьях, вам нужно использовать что-то вроде friends.get()< /а>. Однако любой метод API Facebook, который возвращает информацию о пользователе, подобную этой, требует, чтобы у вас был активный ключ сеанса от этого пользователя, и, как правило, способ получения активного сеансового ключа заключается в том, чтобы пользователь зашел в ваше приложение или страницу Facebook.

Таким образом, информация, о которой вы говорите, является по сути частной. Вы не можете выбрать человека из Facebook, получить его друзей, получить друзей этого друга и так далее. На мой взгляд, это хорошо для конфиденциальности, но, конечно, предотвращает произвольный анализ.

Я бы отказался от идеи написать быстрое и грязное приложение с некоторой привлекательностью для пользователей, которое можно было бы использовать для исследований. Если такая группа, как Мой папа говорит дерьмо ( забавно, не совсем безопасно для работы) может получить 120 000 пользователей за пару месяцев, вы, вероятно, могли бы сослаться на небольшое исследовательское приложение и получить разумное количество пользователей.

person zombat    schedule 07.01.2010
comment
..защитите себя.. или вы можете просто сделать это, как это делают большинство компаний, и создать простое классное маленькое приложение и просто никому не рассказывать, как вы на самом деле собираетесь использовать эту информацию. - person NotMe; 01.10.2010
comment
Minas Gjoka, Maciej Kurant, Carter T Butts, Athina Markopoulou, кажется, каким-то образом обошли это или это было возможно в 2010 году, по крайней мере, они получили много информации о дружбе minasgjoka.com/publications.html - person aufziehvogel; 17.12.2011

Проблема в том, что информация о дружбе в Facebook, как правило, конфиденциальна и доступна только друзьям. Должно быть намного проще построить эту сеть в Твиттере, если это вариант для вас.

person Philippe Beaudoin    schedule 07.01.2010
comment
Можете ли вы дать мне несколько советов? Мой основной интерес — социальные сети, поэтому Twitter — вариант. Спасибо. - person knguyen; 08.03.2010
comment
Вы можете начать с apiwiki.twitter.com/ - person Philippe Beaudoin; 09.03.2010

Как заявляли другие, это, как правило, личная информация. Однако, если Facebook как таковой не является обязательным требованием, вы можете использовать Google Social API. Фрагмент страницы API Google Social Graph: "С помощью Social Graph API разработчики могут теперь используют общедоступные соединения, которые их пользователи уже создали в других веб-сервисах. Это делает информацию об общедоступных соединениях между людьми легкодоступной и полезной».

Вот статья об его использовании в Ruby: http://articles.sitepoint.com/article/google-social-graph-api-ruby-rails#

person Robert Gowland    schedule 07.01.2010

В этом сообщении о жизненном коде представлен базовый скрипт Python для очистки контактной информации ваших друзей в Facebook. Результатом этого скрипта является идентификатор профиля, имя профиля, URL-адрес профиля, адрес электронной почты и номер мобильного телефона/телефона (если он предоставлен другом). ВНИМАНИЕ! Это противоречит Условиям использования Facebook. Используйте на свой риск. Информация предоставлена ​​в образовательных и исследовательских целях http://ruel.me/blog/2010/11/26/scrape-your-facebook-friends-contact-info-with-python/

person user586821    schedule 24.01.2011

Вы можете использовать http://www.facebook.com/directory/, чтобы получить людей из общедоступного списка.

person Renga Haka    schedule 27.02.2013
comment
Добро пожаловать в Stack Overflow! Спасибо за ваш пост! Пожалуйста, не используйте подписи/слоганы в своих сообщениях. Ваш пользовательский ящик считается вашей подписью, и вы можете использовать свой профиль для публикации любой информации о себе, которая вам нравится. Часто задаваемые вопросы о подписях/слоганах. Особенно не включайте ссылки на свой сайт в свои сообщения, иначе ваши сообщения могут быть помечены как спам. - person Andrew Barber; 27.02.2013
comment
Также, хотя; ваша ссылка не отвечает на заданный вопрос. Речь шла не о том, чтобы получить необработанный список участников Facebook, а об анализе отношений участников. - person Andrew Barber; 27.02.2013