【问题标题】:How to crawl Facebook based on friendship information?如何根据好友信息爬取Facebook?
【发布时间】:2011-01-02 15:15:46
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您是否尝试过联系 Facebook 并询问他们是否提供匿名研究数据?
  • 我建议您阅读(并遵守)他们的政策,尤其是developers.facebook.com/policy上关于“存储和使用您从我们这里收到的数据”的部分
  • 我记得看到一个“应用程序”,它会分析您的哪些朋友也是其他朋友的朋友,以建立一个“网络”。听起来他们可能正在使用您需要的东西。我认为它被称为社交圈或类似的东西。
  • @David Brunelle 有一个朋友轮 (visualcomplexity.com/vc/project.cfm?id=501) 看起来有点像你描述的。

标签: facebook social-networking web-crawler


【解决方案1】:

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

【讨论】:

  • 欢迎来到 Stack Overflow!谢谢你的帖子!请不要在您的帖子中使用签名/标语。您的用户框算作您的签名,您可以使用您的个人资料发布您喜欢的任何关于您自己的信息。 FAQ on signatures/taglines。尤其不要在帖子中包含指向您网站的链接,否则您的帖子可能会被标记为垃圾邮件。
  • 还有,不过;您的链接没有回答所提出的问题。这不是获取 Facebook 成员的原始列表,而是分析成员之间的关系。
【解决方案2】:

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

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

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

【讨论】:

  • "..为你的案子辩护.." 或者你可以像大多数公司一样做一个简单的很酷的小应用程序,只是不告诉任何人你将如何使用这些信息。
  • Minas Gjoka、Maciej Kurant、Carter T Butts、Athina Markopoulou 似乎以某种方式解决了这个问题,或者在 2010 年有可能,至少他们得到了很多友谊信息minasgjoka.com/publications.html
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

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

    【讨论】:

      【解决方案5】:

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

      【讨论】:

      • 你能给我一些建议吗?我的主要兴趣是社交网络,所以 Twitter 是一个选择。谢谢。
      • 你可以从apiwiki.twitter.com/…开始
      猜你喜欢
      • 2012-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      • 2011-04-30
      • 2014-06-03
      相关资源
      最近更新 更多