本帖最后由 wilfish 于 2015-6-5 11:29 编辑 : o4 {* h& s2 ]0 }4 | 
 
* A, ]# S) ^- |& T, G, F6 V6 [声明:某论坛上有此文,但是无奈打不开,还好有万能的百度。看完确实沸腾了,不幸被作者言中,我就是属于无法模仿的人之一,不过本文确实拓宽了思路。欢迎交流FB。 ----------------------------------------------------- 这篇文章会让你热血沸腾吗?' v5 ], W% _* K- z7 _% ~% g 
-大家都知道facebook广告的人群定位有一个”custom audience”,如下图所示:% [7 k. @% A8 ~! l# i8 H 
  
3 L) l0 \" ]7 b6 h% I 
3 ]8 f2 T( `" u由上面的说明知道,我们可以上传受众的facebook 用户ID,邮箱等建立自定义受众,对这些用户进行R广告。自定义受众广告成功的关键肯定是找到最精准的用户。比如你是卖户外用品的,那就要找到对户外用户感兴趣的用户。一个比较简单的方法就是查找到相关的专页,专页的粉丝肯定是对相关产品比较有兴趣的用户。但是我们打开相关的专页,却找不到它的粉丝详细信息,那有什么其他方法呢?9 g8 r1 h, J  M/ O' z. P 
这里要借助FACEBOOK推出来的Graph Search查询功能。Facebook Graph Search 是什么?它的功能是让用户能搜索到社交链上的信息,例如“我朋友都喜欢那些旧金山的餐馆?”,“喜欢某个专页的有哪些人”、“我朋友去过的旅游景点”等。我们就是利用这个功能来查询到某个专页的粉丝。我们以可口可乐为例,输入以下查询语句,如下图所示: 得到如下结果  
% t" G2 z9 `7 e) w; Z, X 
. G5 F& I% Q& o$ R我们点击“See more”,跳到如下界面: : j8 X" F9 u; Q- D: @ 
/ x8 v: c3 r: g! J: f1 G+ A& | 
很明显,数据只显示了一部分,如果需要得到更多信息,需要向下滚动鼠标。 
0 B) T7 ~; R) ]% _, N% s$ f那怎么办呢?难道我们要不停的滚动鼠标,等待出来新的结果,让它显示完整么?那这个工作量也太大了,显然不行。我们的解决方法是在浏览器中运行javascript代码,模拟用户行为,让浏览器自动的滚动,代码如下: 
$ s" B6 A- R  l. p- `9 ivar i = 0; 
* \0 l' Q' J/ ?- T% jtotal = 1000; //滚动次数,可以自己根据情况定义+ l" L4 X; U5 e+ T/ h 
function moreScroll() {# d* m# l( _% v' ?/ L 
if (i < total) {4 c) q) @: P( |! X5 N8 ]6 M- o. b$ b 
window.scrollTo(0, document.body.scrollHeight);" u4 z3 v1 y8 O 
i++; 
; ?( s2 X( ]+ \/ Y% z3 e} 
/ ?9 [! A7 [7 k% F( ZsetTimeout(moreScroll, 1000); }//1000为间隔时间,也可以根据情况定义. a/ x5 \0 {2 [ 
moreScroll(); 
* b& E: ]5 d0 t那么怎么样在网页执行javascript代码呢?方法有多种,我们这里介绍一种方法,需要用到谷歌的chrome浏览器,点击chrome浏览器菜单下的“更多工具”,可以看到一个“Javascript控制台”,如图所示  
% q7 X- @' ]0 ]% I+ j) Y+ J; l 
; i% Y+ L# }. C' J+ V, V+ b) X# A6 Z, J6 d 
快捷方式为:Ctrl+Shift+I,我们打开它,% F. q9 X! t' U! e: e 
在光标处 ,粘贴以上的代码,回车,然后就可以看到页面自动不停的往下滚动,更多的信息显示出来。可以去喝杯咖啡歇一会儿,等滚动停止,信息都显示了,但是我们要如果获得粉丝的UID信息呢?我们分析以下网页源代码: 可见属性data-profileid值即为facebook user id,由此得到如下javascript代码: 
3 y) G; f# q& b5 d# j3 o8 L& D( Hvar text=””;+ _  v7 [& _, g9 H 
var friendbutton=document.getElementsByClassName(“outgoingButton”); 
$ y* d4 y. }" y, L9 m5 Ofor(var i=0; i var userid = friendbutton.getAttribute("data-profileid"); 9 N& x8 r8 ]% a 
if(userid) text+=userid+"  
: R5 F) E. j2 `“;  
( d7 d% r# |, g8 t: ~} document.body.innerHTML=text; 粘贴以上代码,回车执行,可以得到Facebook UID,如图所示: 9 z% {2 G: Z$ D$ W0 ? 
4 N% b- f7 |- G, i8 I* X$ v7 I 
 
  C, @$ q0 ?6 F: W7 ~. S我们可以把这些数据作为自定义受众导入到facebook广告后台,进行精准营销。 
& f; |6 H, T' b% s: H$ B/ e5 P1 P从以上原理可以看出,我们利用了Graph Search来请求数据。只要Graph Search到的用户数据,我们都可以通过这种方式获得,我们可以写出各种不同的Search语句来满足我们不同的需要。这里抛砖引玉,大家可以发挥想象。* N. D3 i" t: S) u; c) f 
现在我们获得了facebook的用户ID信息,如果想获得更多关于用户的信息,比如邮箱等等,该怎么办呢?这里就要用到Facebook的Graph API,Graph API是获得Facebook社交数据的首选方法,它是一个以HTTP协议为基础的API,我们可以直接在浏览器中使用。可以用它来查询数据,发帖,上传照片等等任务。现在我们用user API来查询用户信息。' m$ w, V/ m) Y: T- Q, e 
使用方法也很简单,例如我们在浏览器中输入:http://graph.facebook.com/1310797367, 后面为Facebook UID, 6 z6 v! d: z, N# m3 o6 r: ^ 
7 z8 U9 D5 v4 N6 }8 y 
返回的是标准的JSON格式数据,我们获得了username,大家都知道,Facebook邮箱是基于用户名的,格式为[email protected],那么解析并且组合这个数据,我们就可以获得用户的Facebook邮箱。% R" ^. L7 h7 B8 ~" R: n 
看到这里,稍微会点代码的朋友就知道该怎么实现了。那么不用代码可以吗?其实也是可以的,下面我们用EXCEL来完成。3 i6 i' V) |$ m. k1 y% b 
首先给大家推荐一款免费的EXCEL插件http://seotoolsforexcel.com/,下载,安装,这个插件有很多SEO方面的功能,我们这里使用它来解析JSON数据。 
; h2 g, H1 |" s我们将数据导入到EXCEL,第一列为Facebook UID,9 l; C. b( T( D: V) t1 k 
然后在第二列输入公式, =”http://graph.facebook.com/”&A12 {& E: U; l, q% }# D' V) | 
 得到请求用户详细信息地址,  ; |& `7 ^: M! M. e& y5 o) P4 P 
第三列输入公式: =JsonPathOnUrl(B1, “username”) 得到Facebook username / z2 T/ A- S5 N4 u% ^ 
4 ?) l: k5 G) I 
最后第四列输入公式: =C1&”@facebook.com” 获得Facebook邮箱如下:  ' {1 h2 b+ w" ] 
这篇文章告诉你 :最后你可以给用户发邮箱,用UID做广告让你更省钱" {1 k* w, z( a) z) _! W+ Z: ` 
更多的使用思路请自己琢磨。 这篇文章转发出来,可能会有许许多多的人会跟踪模仿,但是也有很多人是无法模仿。我只希望我们贡献的每一篇文章都是很有价值,很用心去写的,也是花了很多时间去写的,如果你要吱吱咋咋,我希望你用心去体会下每一篇文章背后花的心血有多大。到最后,感谢leon,再次感谢空空的无私,感谢他的支持,感谢他的伴随。希望我们都越来越好。这是一篇推广人看了都怕泄露的文章。  
; k5 X  w! I3 ~* t6 ?# ~/ w |