我是一名研究生,他的研究是复杂的网络。我正在开发一个涉及分析Facebook用户之间联系的项目。是否可以根据友情信息为Facebook编写爬虫?
我环顾四周但到目前为止找不到任何有用的东西。 Facebook似乎并不喜欢这种活动。我可以依赖Facebook API吗?
更新(2010年1月8日):非常感谢您的回复。我想我可能需要直接联系Facebook。干杯
更新(2011年2月16日):一本新书“挖掘社交网络”刚刚问世。在其中,有一章专门用于使用Python挖掘Facebook。欢呼声。
答案 0 :(得分:10)
不幸的是,你不能依赖Facebook API。要获取朋友信息,您需要使用friends.get()之类的内容。但是,任何返回此类用户信息的Facebook API方法都要求您拥有该用户的活动会话密钥,通常您获得活动会话密钥的方式是让用户访问您的Facebook应用程序或页面。
总之,您所谈论的信息基本上是私密的。你不能从Facebook挑选一个人,得到他们的朋友,并得到那些朋友的朋友,等等。对我来说,这对隐私来说是一件好事,但当然它会阻止任意分析。
我会抛弃编写一个快速而肮脏的应用程序的想法,该应用程序具有一些可用于研究的用户吸引力。如果像S**t My Dad Says这样的小组(有趣,工作不太安全)可以在几个月内获得120,000名用户,那么您可以通过一个小型研究应用程序认可您的案例,并获得合理数量的用户。
答案 1 :(得分:1)
问题在于,facebook友情信息通常是私密的,只有朋友才能访问。如果这是一个选项,那么在Twitter上构建这个网络要容易得多。
答案 2 :(得分:1)
正如其他人所说,这通常是私人信息。但是,如果Facebook本身不是必需的,您可以使用 Google的社交API 。来自Google Social Graph API页面的摘录:“借助Social Graph API,开发人员现在可以利用其用户已在其他网络服务中创建的公共连接。它可以使人们之间的公共连接信息轻松可用且有用。” / p>
这是一篇关于在Ruby中使用它的文章: http://articles.sitepoint.com/article/google-social-graph-api-ruby-rails#
答案 3 :(得分:1)
这个lifecode帖子提供了一个基本的python脚本来刮掉你的Facebook好友联系信息。 此脚本的输出是配置文件ID,配置文件pame,配置文件URL,电子邮件地址和移动电话号码(如果由朋友提供)。 警告:这是针对Facebook TOS的。使用风险由您自己承担。 提供的信息用于教育和研究目的 http://ruel.me/blog/2010/11/26/scrape-your-facebook-friends-contact-info-with-python/
答案 4 :(得分:0)
您可以使用http://www.facebook.com/directory/来吸引公开列出的人。