26

我是一名研究复杂网络的研究生。我正在从事一个涉及分析 Facebook 用户之间联系的项目。是否可以根据好友信息为 Facebook 编写爬虫?

我环顾四周,但到目前为止找不到任何有用的东西。Facebook 似乎不喜欢这样的活动。我可以依赖 Facebook API 吗?

更新(2010 年 1 月 8 日):非常感谢您的回复。我想我可能需要直接联系 Facebook。干杯

更新(2011 年 2 月 16 日):一本新书“挖掘社交网络”刚刚问世。其中有一章专门用于使用 Python 挖掘 Facebook。干杯。

4

5 回答 5

10

不幸的是,您不能依赖 Facebook API。要获取朋友信息,您需要使用friends.get() 之类的东西。但是,任何返回此类用户信息的 Facebook API 方法都要求您拥有来自该用户的活动会话密钥,并且通常获取活动会话密钥的方式是让用户访问您的 Facebook 应用程序或页面。

总之,您所谈论的信息本质上是私人的。你不能从 Facebook 中挑选一个人,得到他们的朋友,然后得到那些朋友的朋友,等等。对我来说,这对隐私来说是一件好事,但它当然可以防止任意分析。

我会放弃编写一个快速而肮脏的应用程序的想法,该应用程序具有一些可用于研究的用户吸引力。如果像S**t My Dad Says这样的小组(有趣,工作并不安全)可以在几个月内获得 120,000 名用户,那么您可能可以通过一个小型研究应用程序来辩护并获得合理数量的用户。

于 2010-01-07T19:26:15.133 回答
1

问题是 facebook 的友谊信息通常是私密的,只有朋友可以访问。如果您愿意,在 Twitter 上建立这个网络应该会容易得多。

于 2010-01-07T19:17:16.760 回答
1

正如其他人所说,这通常是私人信息。但是,如果 Facebook 本身不是必需的,您可以使用Google 的 Social API。来自Google Social Graph API 页面的片段:“借助 Social Graph API,开发人员现在可以利用他们的用户已经在其他 Web 服务中创建的公共连接。它使有关人们之间的公共连接的信息更容易获得和有用。”

这是一篇关于在 Ruby 中使用它的文章:http: //articles.sitepoint.com/article/google-social-graph-api-ruby-rails#

于 2010-01-07T19:30:15.190 回答
1

这篇 lifecode post 提供了一个基本的 python 脚本来抓取你的 facebook 好友联系信息。此脚本的输出是配置文件 ID、配置文件名称、配置文件 URL、电子邮件地址和手机/电话号码(如果由朋友提供)。警告:这违反了 Facebook TOS。使用风险自负。为教育和研究目的提供的信息 http://ruel.me/blog/2010/11/26/scrape-your-facebook-friends-contact-info-with-python/

于 2011-01-24T00:58:24.640 回答
0

您可以使用http://www.facebook.com/directory/来获取公开列表的人。

于 2013-02-27T08:09:34.553 回答