如何抓取Facebook用户个人资料页面

时间:2011-04-07 11:14:15

标签: php facebook

我想知道如何使用php抓取facebook用户个人资料页面。我尝试使用CURL,fsockopen和file_get_contents,但它没有返回已处理的HTML页面。它只返回填充了JS代码的HTML页面。看来,facebook使用Javascript加载页面。所以,我想知道,如何使用php获取已处理的HTML页面。

注意: 1.从facebook退出。 2.点击用户URL,例如:http://www.facbook.com/USERNAME

3 个答案:

答案 0 :(得分:3)

只需使用脸谱图,使用json格式获取信息比使用regexing html

更容易

在chrome或一些知道如何处理json的浏览器中打开它,

http://graph.facebook.com/php

{
   "id": "6358087478",
   "name": "PHP",
   "picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/41787_6358087478_3246078_s.jpg",
   "link": "http://www.facebook.com/PHP",
   "category": "Product/service",
   "likes": 117991,
   "website": "www.php.net",
   "username": "PHP",
   "founded": "1994"
}

答案 1 :(得分:1)

获取任何特定用户的任何细节的更好方法是构建一个Facebook应用程序并使用它们提供的API ..

身份验证API可用于获取有关特定用户的所有信息(包括电子邮件,喜欢位置等)

由于隐私条款,Facebook肯定会隐藏用户信息。

最好的方法是阅读此内容。http://developers.facebook.com/docs/

答案 2 :(得分:0)

我尝试使用搜索引擎用户代理。它适用于人们!

$userAgent = 'Googlebot/2.1 (http://www.googlebot.com/bot.html)';
$url = "http://www.facebook.com/USERNAME";
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$html = curl_exec($ch);
相关问题