查询喜欢我的Facebook页面的用户
我想知道是否有可能查询以下内容:
- (所有)喜欢我的Facebook页面的用户的列表
- 这些用户已公开提供的附加信息(除了姓氏和名字)
基本上看,如果可能的话,生成喜欢我的脸书页面的用户的详细的营销统计。 任何build议或替代的欢迎。
谢谢。
恐怕这是不可能的,按照这个错误的更多信息。
另一个certificate是page_fan
表,你会注意到只有uid
字段是可以索引的,所以你需要知道用户id来search它,而不是page_id
,因为你知道如果用户“ 喜欢 ”一个页面,这将意味着他是一个“ 粉丝 “的页面。
在积极地使用Facebook API一段时间后,随着公告和API发布(以及弃用),以及政策的介绍和变更,我可以理解Facebook只会分享他们的用户信息,让他们明确地做所以(又名交互/授权您的应用程序)。
因此,如果没有这种function,最好的做法是:
- 通过Page Insights了解您的受众
- 收集粉丝的兴趣和信息通过创build自定义应用程序通过页面标签和使用其他Facebookfunction,如问题
好吧,没有人想要打破Facebook的TOS,但他们已经绑定了我们自己的基本数据。 所以,刮是非法的,但不是保存一个页面。 我已经做了什么(并注意,我需要这个为脱机目的无论如何):转到https://www.facebook.com/browse/?type=page_fans&page_id= {范围页ID}向下滚动,直到你有所有的球迷。 把这个页面保存在你的本地机器上,比方说Facebook.html。 现在,使用ruby和nokogiri:
require 'nokogiri' >true f = File.open('/your_path/Facebook.html') doc = Nokogiri::HTML.parse(f.read) doc.xpath('//div[@class="fsl fwb fcb"]/a').each {|link| puts link.content}
这是可能的,而不是与FQL了。
做一个https://www.facebook.com/browse/?type=page_fans&page_id= {FAN PAGE ID}的GET,并刮掉用户。
中提琴。
做一个图search喜欢这个:“谁喜欢[你的粉丝的名字]”。 你会得到所有的结果。
然后用这个JavaScript代码在你的浏览器上创build快捷方式,它将点击查看更多链接并滚动,直到所有结果都显示在页面中:
javascript: i = 0;minutes = 30;counter = minutes * 60;function repeatScroll() { if (i < counter) {window.scrollTo(0, document.body.scrollHeight);i++;} setTimeout(repeatScroll, 1000);}repeatScroll();
之后,创build其他快捷方式并运行此js代码以从search结果中检索所有UID:
javascript:var txt="";e=document.getElementsByClassName("FriendRequestOutgoing"); for(var i=0; i<e.length; i++) {v=e[i].getAttribute("data-profileid"); if(v) txt+=v+"\n"}document.body.innerHTML="<textarea>"+txt+"</textarea>";
屏幕上将出现一个textarea框,其中包含所有的uid。 只需将其复制到记事本中,然后导入Facebook广告pipe理系统中的自定义受众群体即可。
我每天创build和使用这个代码,以获得所需的标准所有的UID。 你可以启动任何你想要的图表search。 这是自制代码,所以使用它没有你自己的责任:)
享用它们。
现在,您可以通过此链接获取您网页上的用户,或者点击设置button,而不是左侧的用户。 https://www.facebook.com/%5BPAGENAME%5D/settings/?tab=people_and_other_pages
如果你想得到所有用户的照片,按F12键,并将这些代码添加到控制台:
javascript:i=0;minutes=30;counter=minutes*60;function repeatScroll(){if(i<counter){window.scrollTo(0, document.body.scrollHeight);i++;}setTimeout(repeatScroll,1000);}repeatScroll();
比,当你到达页面的底部:
javascript:var txt="";e=document.getElementsByClassName("img"); for(var i=0; i<e.length; i++) {v=e[i].getAttribute("src"); if(v) txt+="<img src='"+v+"'>\n"}document.body.innerHTML="<textarea>"+txt+"</textarea>";
要显示照片,请创build一个HTML页面,并首先将这些行插入到该文件中:
<meta charset="utf-8"> <style>img { width:21px; margin:-1px; }</style> <div style="width:851px; height:315px;background-color:white;"> <!-- PASTE HERE PHOTOS' CODE YOU GET --> <span style="color:#3B5998;font-weight:bold;font-size:20px;margin-bottom:4px;">600 like, thank you!</span> <!-- PASTE HERE PHOTOS' CODE YOU GET --> </div>
然后用这个JavaScript代码在浏览器上创build快捷方式,它将点击查看更多链接并滚动,直到所有结果都显示在页面中:
i = 0; minutes = 30; counter = minutes * 60; function repeatScroll() { if (i < counter) { window.scrollTo(0, document.body.scrollHeight); i++; } setTimeout(repeatScroll, 1000); } repeatScroll();
之后,创build其他快捷方式并运行此js代码以从search结果中检索所有UID:
var e=document.getElementsByClassName("fsl fwb fcb"); var ids = []; for(var i = 0 ; i < e.length; i++){ ids.push(JSON.parse(e[i].childNodes[0].getAttribute("data-gt")).engagement.eng_tid); } console.log(ids);
你可以得到它使用Facebook的开放图。
https://graph.facebook.com/<your-page-name-or-page-id>/likes
例如 :
https://graph.facebook.com/chickfila/likes
你需要发送graphicsAPI调用使用“ID”更多关于用户喜欢你的页面的细节。
但是,这个调用将检索页面(Chickfila)喜欢的其他Facebook对象,而不是那些喜欢Chickfila页面的用户。