访问Facebook个人资料网址

时间:2011-06-01 14:27:53

标签: python facebook

此处的目标是,给定用户的Facebook个人资料网址,访问并打开个人资料页面。一些简单的python代码:

from urllib2 import urlopen
url = "http://www.facebook.com/username"
page = urlopen(url)

问题是,对于某些“用户名”,这会导致HTTP ERROR 404.我注意到只有在路径包含名称而不是“profile.php?id = XXX”格式时才会发生此错误。

请注意,我们这里只有url而不是用户ID。

更新: 对于一些“profile.php?id = XXX”和其他用户名格式也发生了这种情况。

4 个答案:

答案 0 :(得分:1)

这是Facebook的隐私功能。用户可以隐藏其个人资料页面,以便只有登录的用户才能查看他们的页面。使用/profile.php?id=XXX/username访问该网页没有任何区别。您必须登录才能查看HTML页面。

在您的上下文中,您必须首先登录有效的Facebook帐户才能请求该页面,并且您不应再收到404。

检查这一点的一种方法是在图API上,graph.facebook.com/USERNAME如果它们有公共页面,将在生成的JSON中返回link属性,并且在私有页面上将省略它。

答案 1 :(得分:0)

您是尝试在Web浏览器中打开页面还是访问页面生成的HTML源代码?

如果是后者,您是否考虑过使用Facebook Graph API来实现您正在做的任何事情?这将更快,API全部记录在案。此外,页面的HTML源可能会随时更改,而Graph API则不会。

修改

您可以使用Graph API而无需创建应用程序来获取用户ID,而是转到http://graph.facebook.com/username并解析JSON响应。然后,您可以使用http://www.facebook.com/profile.php?id=userId

访问配置文件HTML

答案 2 :(得分:0)

并非每个Facebook帐户都可以作为FIRST.LAST访问,因此您无法可靠地执行此操作。

目前无法保证可以使用虚荣名称访问帐户。

答案 3 :(得分:0)

只要用户名存在,就可以正常工作。