Find Facebook user (url to profile page) by known email address

后端 未结 11 1748
陌清茗
陌清茗 2020-12-01 03:40

I have an email address and want to find out if there is a Facebook user linked to this address. If there is, then I want to retrieve the url to this users profile page and

11条回答
  •  一生所求
    2020-12-01 04:10

    This is appeared as pretty easy task, as Facebook don't hiding user emails or phones from me. So here is html parsing function on PHP with cURL

    /*
        Search Facebook without authorization
        Query
            user name, e-mail, phone, page etc
        Types of search
            all, people, pages, places, groups, apps, events
        Result
            Array with facebook page names ( facebook.com/{page} )
        By      57ar7up
        Date    2016
    */
    function facebook_search($query, $type = 'all'){
        $url = 'http://www.facebook.com/search/'.$type.'/?q='.$query;
        $user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36';
    
        $c = curl_init();
        curl_setopt_array($c, array(
            CURLOPT_URL             => $url,
            CURLOPT_USERAGENT       => $user_agent,
            CURLOPT_RETURNTRANSFER  => TRUE,
            CURLOPT_FOLLOWLOCATION  => TRUE,
            CURLOPT_SSL_VERIFYPEER  => FALSE
        ));
        $data = curl_exec($c);
    
        preg_match_all('/href=\"https:\/\/www.facebook.com\/(([^\"\/]+)|people\/([^\"]+\/\d+))[\/]?\"/', $data, $matches);
        if($matches[3][0] != FALSE){                // facebook.com/people/name/id
            $pages = array_map(function($el){
                return explode('/', $el)[0];
            }, $matches[3]);
        } else                                      // facebook.com/name
            $pages = $matches[2];
        return array_filter(array_unique($pages));  // Removing duplicates and empty values
    }
    

提交回复
热议问题