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節點以避免頁面崩潰。你可以在這里找到這個腳本
- 3 回答
- 0 關注
- 1492 瀏覽
添加回答
舉報
0/150
提交
取消