0

我需要在 PHP 中创建一个脚本,该脚本会自动从 Facebook 页面(例如:https ://www.facebook.com/stackoverflowpage )中获取超过特定数量的喜欢(例如:10,000)的最新 10 张图片。我想每小时运行一次脚本,以确保我抓取所有带有标题的图片。

我不认为这是以前做过的。您认为解决此问题的最佳方法是什么?

我想我有三个选择:

  1. 通过 Facebook 页面的 HTML 代码获取数据
  2. 通过 Facebook Graph 获取数据
  3. 通过 Facebook API 获取数据
4

1 回答 1

0

我刚刚完成了我的剧本。这是我在 PHP 中的解决方案:

$album_id = "20531316728";
$like_minimum = 5000;


$album_data = file_get_contents("https://graph.facebook.com/".$album_id."/photos");
$album_data_array = json_decode($album_data,true);

// loop album
foreach($album_data_array as $item){  
    // loop posts
    foreach($item as $item){ 
        // grab id, source, message
        $photo_id = $item[id];
        $photo_source = $item[source];
        $photo_message = $item[name];

        // count likes
        // facebook doesn't allow us to grab this data. we'll do it anyway.
        $like_data = file_get_contents("http://www.facebook.com/photo.php?fbid=".$photo_id);
        $like_count = explode(' others like this.","ranges":', $like_data);
        $like_count = $like_count[0];
        $like_count = explode('and ', $like_count);
        end($like_count);
        $key = key($like_count);
        $like_count = $like_count[$key];
        $like_count = str_replace(",", "", $like_count);
        $like_count = intval($like_count);

        // check if like_minimum reached
        if($like_count>$like_minimum){
            // SUCCESS!

            // Do stuff...
        }
    }
}
于 2013-03-21T15:30:02.363 回答