要提取特定 facebook 粉丝页面的用户列表,请使用以下代码
$text = file_get_contents('rawnike.php');
// $text = file_get_contents('http://www.facebook.com/plugins/fan.php?connections=10000&id=15087023444');
$text = preg_replace("/<script[^>]+\>/i", "", $text);
$text = preg_replace("/<img[^>]+\>/i", "", $text);
$pattern = '!(https?://[^\s]+)!'; // refine this for better/more specific results
if (preg_match_all($pattern, $text, $matches)) {
list(, $links) = ($matches);
//print_r($links);
//var_dump($links);
}
unset($links[0]);unset($links[1]);unset($links[2]);unset($links[3]);unset($links[4]);unset($links[5]);unset($links[6]);unset($links[7]);
//var_dump($links);
$links=str_replace('https','http',$links); $links=str_replace('\"','',$links);
foreach ($links as $value) {
echo "fb user ID: $value<br />\n";
}
至此,我成功地使用file_get_contents('rawnike.php')
(本地保存的rawnike.php)检索用户的个人资料链接
但是如果我尝试从 url 中提取相同的内容,file_get_contents("http://www.facebook.com/plugins/fan.php?connections=10000&id=15087023444")
则无法检索,这意味着我无法直接提取 facebook 页面的源!我应该手动保存页面的源代码!
如果我在本地手动存储页面的源代码并解析它,我在解析用户页面时观察到的相同,能够提取用户的兴趣。另一方面,如果我直接尝试使用 URL 提取源代码,它不会获得相同的源代码。
这意味着$source=file_get_contents($url); $source="content which displays ur browser doesnt supported or some crap"
另一方面$source=file_get_contents($string_to_extract_content_of_local_saved_sourceFile); $source="content which i excatly needed to parse"
在做很少的研究时,我明白这FQL
是做这样的事情的正确方法。但是请帮助我理解为什么提取的源代码存在差异,这是FQL
我可以继续进行的唯一方法或其他方式。