特定の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
がこのようなことをするための正しいアプローチであることを理解しました。しかし、plsは、抽出されたソースコードに違いがある理由を理解するのに役立ち、それがFQL
唯一の方法または他の方法で先に進むことができます。