获取Facebook个人资料/好友页面的wget

获取Facebook个人资料/好友页面的wget,facebook,wget,user-profile,web-crawler,Facebook,Wget,User Profile,Web Crawler,我正在尝试使用“wget”获取facebook用户的个人资料页面,但不断获取名为“browser.php”的非个人资料页面,该页面与特定用户无关。我在浏览器中看到的配置文件页面的URL恰好是以下格式: http://www.facebook.com/user-name 这就是我一直在使用的wget命令的参数: wget 我还对使用wget获取用户的好友列表感兴趣,但即使这样也会得到同样的无益结果(“browser.php”): wget 有人能告诉我我做错了什么吗?换句话说,我是否遗漏了wge

我正在尝试使用“wget”获取facebook用户的个人资料页面,但不断获取名为“browser.php”的非个人资料页面,该页面与特定用户无关。我在浏览器中看到的配置文件页面的URL恰好是以下格式:

http://www.facebook.com/user-name

这就是我一直在使用的wget命令的参数:

wget

我还对使用wget获取用户的好友列表感兴趣,但即使这样也会得到同样的无益结果(“browser.php”):

wget

有人能告诉我我做错了什么吗?换句话说,我是否遗漏了wget命令的一些关键选项,或者wget根本不适合这样的场景

任何帮助都将不胜感激


为了给这个查询添加上下文,我需要弄清楚如何使用wget从Facebook获取这些页面,因为它将帮助我编写一个脚本/程序,从HTML源代码中查找朋友的个人资料URL,然后在这些URL上查找其他一些关键字,等等。我基本上希望这能帮助我进行某种选择性的爬网(当然是在Facebook允许的情况下)我没有联系的人。

首先,Facebook可能造成了某些用户代理(例如wget)无法抓取页面的情况。因此,他们将某些用户代理重定向到另一个页面,可能会说“您的浏览器不受支持”他们这样做是为了保护人们不做你正在做的事情。但是,你可以使用wget的
-U
参数告诉wget将自己识别为不同的代理(阅读wget手册页)。例如
wget-U Mozillahttp://....

其次,Facebooks隐私设置很少允许您阅读任何/大量信息,除非您以用户身份登录,并且可能仅以您试图获取的个人资料的好友身份登录


第三,你需要使用它来从facebook抓取和提取信息——如果你试图以任何其他方式获取信息,你很可能违反了可接受的使用策略。

我不知道你为什么要使用wget。facebook提供了一个优秀的API

wget --user-agent=Firefox http://www.facebook.com/markzuckerberg
将公开可用的内容保存到文件中

你应该考虑使用他们的API。


如果你想保存登录页面,你可以在选择“让我登录”的情况下使用Firefox登录,然后将这些cookie复制到一个文件中,并与cookiejar选项一起使用。你仍然会有相当多的动态脚本加载内容,WGET不会保存这些内容


有很多方法可以剥除这只猫的皮肤。如果你需要提取一个特定的项目,请查看API。如果你只是想归档网页快照,就像它在web浏览器中出现一样,请尝试CutyCapt。它很像wget,只是它像web浏览器一样解析整个文档并存储网页的图像。

你可以重用Firef要轻松登录,请参阅:

谁可以查看您的好友列表是可配置的,因此如果有人仅将其配置为好友,则您无法提取该信息

我还建议使用移动站点,它使用分页而不是AJAX加载,并且具有更简单、更小的HTML:


下面是一些(非常严格的)scrap术语:

检查以下开源项目:

  • ,它是一个与Facebook API交互的命令行实用程序
  • 它可以生成所有Facebook好友的HTML页面

要使用
wget
下载Facebook页面,您可以在web浏览器中使用(也可以在Firefox、Opera和其他浏览器中使用)

首先,您需要将其转换为
curl
命令,方法是转到“网络”选项卡(必要时刷新页面或勾选“保留日志”),找到您感兴趣的页面(您可以筛选列表),右键单击请求/页面,然后选择。然后将命令粘贴到终端

要将
curl
格式转换为
wget
,请执行以下转换:

  • 删除
    --压缩
    参数
  • 在所有位置将
    -H
    更改为
    -标题
还可以考虑添加以下
wget
参数:

  • -k
    -转换链接
    ,以转换文档中的链接,使其适合本地查看
  • -p
    -页面必备条件
    ,下载正确显示页面所需的所有文件
另见:


谢谢Krish。不幸的是,这不起作用,因为它给了我一个文件(其中文件名是用户名),其中没有信息,而且如果我通过更改用户代理向Facebook“撒谎”,Facebook在寻求真正的爬网权限时不会反对(因为这是我的最终目标)?我正在尝试使用wget,因为我不知道其他任何东西。任何其他建议都会非常有用-我正在寻找任何可以在脚本或程序中工作的东西。Krish,Facebook API要求我尝试获取其个人资料的每个用户的访问令牌。这在不引人注目的数据收集中是不切实际的。如果一个不在我网络中的人发布了她的朋友列表,那么从Facebook的角度来看,这仍然是一个私人信息吗?我首先想到的是Facebook API路线(特别是Graph API),但似乎所有好友信息都需要访问令牌,我想低调地这样做。即使这是一项严格的学术研究,也会违反Facebook的政策吗?通过Facebook API获取Facebook数据的一般规则很简单——如果你可以通过Facebook API获取,那么这两种数据中的任何一种都是你一直在使用的数据大多数facebook API都允许你向用户索取数据,而