亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Facebook API:獲取喜歡頁面的人/粉絲

Facebook API:獲取喜歡頁面的人/粉絲

largeQ 2019-08-26 09:54:34
Facebook API:獲取喜歡頁面的人/粉絲我想獲得一個喜歡某個頁面或粉絲的用戶列表。FB API文檔聲明您只能使用社交圖獲得某個頁面的粉絲數,但不能獲得粉絲列表。這里的討論檢索Facebook粉絲名稱表明可以使用FQL查詢SELECT user_id FROM like WHERE object_id="YOUR PAGE ID"來獲得喜歡該頁面的人數,但對于同一頁面,它會給出一個空響應“{}”。所以我想知道是否有人知道這是否可以做到。
查看完整描述

3 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

對于s3m3n的回答,Facebook粉絲插件(例如LAMODA)現在有限制,你在連續請求中獲得的粉絲越來越少。您可以嘗試我修改的PHP腳本來可視化結果:https//gist.github.com/liruqi/7f425bd570fa8a7c73be#file-facebook_fans_by_plugin-php

另一種方法是Facebook圖搜索。在搜索結果頁面上:喜歡名為“Lamoda”的網頁,打開Chrome控制臺并運行JavaScript的用戶:

var run = 0;var mails = {}total = 3000; //滾動次數,可以自己根據情況定義function getEmails (cont) {
    var friendbutton=cont.getElementsByClassName("_ohe");
    for(var i=0; i<friendbutton.length; i++) {
        var link = friendbutton[i].getAttribute("href");
        if(link && link.substr(0,25)=="https://www.facebook.com/") {
            var parser = document.createElement('a');
            parser.href = link;
            if (parser.pathname) {
                path = parser.pathname.substr(1);
                if (path == "profile.php") {
                    search = parser.search.substr(1);
                    var args = search.split('&');
                    email = args[0].split('=')[1] + "@facebook.com\n";
                } else {
                    email = parser.pathname.substr(1) + "@facebook.com\n";
                }
                if (mails[email] > 0) {
                    continue;
                }
                mails[email] = 1;
                console.log(email);
            }
        }
    }}function moreScroll() {
    var text="";
    containerID = "BrowseResultsContainer"
    if (run > 0) {
        containerID = "fbBrowseScrollingPagerContainer" + (run-1);
    }
    var cont = document.getElementById(containerID);
    if (cont) {
        run++;
        var id = run - 2;
        if (id >= 0) {
            setTimeout(function() {
                containerID = "fbBrowseScrollingPagerContainer" + (id);
                var delcont = document.getElementById(containerID);
                if (delcont) {
                getEmails(delcont);
                delcont.parentNode.removeChild(delcont);
                }
                window.scrollTo(0, document.body.scrollHeight - 10);
            }, 1000);
        }
    } else {
        console.log("# " + containerID);
    }
    if (run < total) {
        window.scrollTo(0, document.body.scrollHeight + 10);
    }
    setTimeout(moreScroll, 2000);}//1000為間隔時間,也可以根據情況定義moreScroll();

它會加載新的粉絲并打印用戶ID /電子郵件,刪除舊的DOM節點以避免頁面崩潰。你可以在這里找到這個腳本


查看完整回答
反對 回復 2019-08-26
  • 3 回答
  • 0 關注
  • 1492 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號