本帖最后由 wilfish 于 2015-6-5 11:29 编辑  
( \( J3 I2 b5 U. W" c9 M5 ]  ^: R7 Z( z 
声明:某论坛上有此文,但是无奈打不开,还好有万能的百度。看完确实沸腾了,不幸被作者言中,我就是属于无法模仿的人之一,不过本文确实拓宽了思路。欢迎交流FB。 ----------------------------------------------------- 这篇文章会让你热血沸腾吗? 
# r3 d4 b' x/ f-大家都知道facebook广告的人群定位有一个”custom audience”,如下图所示:! s* E, X+ W; i, r 
  
9 d( z$ ~1 K# |# X! V1 Q# Z8 h$ Y& [2 `4 O$ @( ?2 E% G+ M! o) J 
由上面的说明知道,我们可以上传受众的facebook 用户ID,邮箱等建立自定义受众,对这些用户进行R广告。自定义受众广告成功的关键肯定是找到最精准的用户。比如你是卖户外用品的,那就要找到对户外用户感兴趣的用户。一个比较简单的方法就是查找到相关的专页,专页的粉丝肯定是对相关产品比较有兴趣的用户。但是我们打开相关的专页,却找不到它的粉丝详细信息,那有什么其他方法呢?$ y! e$ `- o$ P2 e! B* I 
这里要借助FACEBOOK推出来的Graph Search查询功能。Facebook Graph Search 是什么?它的功能是让用户能搜索到社交链上的信息,例如“我朋友都喜欢那些旧金山的餐馆?”,“喜欢某个专页的有哪些人”、“我朋友去过的旅游景点”等。我们就是利用这个功能来查询到某个专页的粉丝。我们以可口可乐为例,输入以下查询语句,如下图所示: 得到如下结果  
% f& {! a' r" s0 V: N; u/ X6 ~5 F3 f: d4 c8 ` 
我们点击“See more”,跳到如下界面:  
. v7 H1 X* E' T; P. O* R% m5 ? 
$ c0 R' {- ]: a0 g7 X7 k很明显,数据只显示了一部分,如果需要得到更多信息,需要向下滚动鼠标。 
( E3 G* w: ^9 D' {5 ?  L2 [那怎么办呢?难道我们要不停的滚动鼠标,等待出来新的结果,让它显示完整么?那这个工作量也太大了,显然不行。我们的解决方法是在浏览器中运行javascript代码,模拟用户行为,让浏览器自动的滚动,代码如下:; u1 ~! i. h: L5 K! s" ] 
var i = 0;3 {3 }4 v$ ?' _ 
total = 1000; //滚动次数,可以自己根据情况定义 
" Y- r) \: a+ I+ tfunction moreScroll() { 
) p- x8 |4 o4 q( W% W/ K: hif (i < total) { 
8 O" H5 w" R. R2 N7 f) Swindow.scrollTo(0, document.body.scrollHeight); 
3 k, C. a, M: ei++;% t5 q2 a0 G4 L  D/ v9 m0 W& `" P 
} 
- V! Y/ q7 g. i% n1 J' lsetTimeout(moreScroll, 1000); }//1000为间隔时间,也可以根据情况定义6 R" B; r) u  @% g9 @# M 
moreScroll();. F0 l* A8 G/ y9 I6 f 
那么怎么样在网页执行javascript代码呢?方法有多种,我们这里介绍一种方法,需要用到谷歌的chrome浏览器,点击chrome浏览器菜单下的“更多工具”,可以看到一个“Javascript控制台”,如图所示  
% t; A+ u) P2 |5 r! f2 o* @. _) x9 L6 p1 V- e 
5 t) w1 Q. B3 M7 ]/ s& }0 | 
快捷方式为:Ctrl+Shift+I,我们打开它, 
  T" l7 V: D+ d: `% C" v在光标处 ,粘贴以上的代码,回车,然后就可以看到页面自动不停的往下滚动,更多的信息显示出来。可以去喝杯咖啡歇一会儿,等滚动停止,信息都显示了,但是我们要如果获得粉丝的UID信息呢?我们分析以下网页源代码: 可见属性data-profileid值即为facebook user id,由此得到如下javascript代码: 
: t" R5 z/ Q7 X* z3 S- Tvar text=””; 
  b* n9 p% m2 A+ J" }5 bvar friendbutton=document.getElementsByClassName(“outgoingButton”); 
! j' H7 V# r- H: R. d& Xfor(var i=0; i var userid = friendbutton.getAttribute("data-profileid"); 3 X8 P; j- Z$ t3 A; \* o/ i 
if(userid) text+=userid+"  
) j' Y" `) V! c# M/ ?“;  
9 Y+ |2 U+ E7 I4 d2 s6 C} document.body.innerHTML=text; 粘贴以上代码,回车执行,可以得到Facebook UID,如图所示: ' C' w+ q9 V, U7 _) Q 
* n: N4 F' T3 A$ O/ v3 X8 E4 B 
 
( t0 o; h% i4 N/ v' R我们可以把这些数据作为自定义受众导入到facebook广告后台,进行精准营销。 
+ g2 u4 R; L; T  L从以上原理可以看出,我们利用了Graph Search来请求数据。只要Graph Search到的用户数据,我们都可以通过这种方式获得,我们可以写出各种不同的Search语句来满足我们不同的需要。这里抛砖引玉,大家可以发挥想象。 
2 Q8 s$ s+ ?8 K' R) }现在我们获得了facebook的用户ID信息,如果想获得更多关于用户的信息,比如邮箱等等,该怎么办呢?这里就要用到Facebook的Graph API,Graph API是获得Facebook社交数据的首选方法,它是一个以HTTP协议为基础的API,我们可以直接在浏览器中使用。可以用它来查询数据,发帖,上传照片等等任务。现在我们用user API来查询用户信息。3 ~, I- Q3 ^; {& C 
使用方法也很简单,例如我们在浏览器中输入:http://graph.facebook.com/1310797367, 后面为Facebook UID,  
; D+ {8 X; E" k7 Q* V- n2 p* e5 @+ A6 T) e# ~$ Z 
返回的是标准的JSON格式数据,我们获得了username,大家都知道,Facebook邮箱是基于用户名的,格式为[email protected],那么解析并且组合这个数据,我们就可以获得用户的Facebook邮箱。) E* _5 `* \. U  A6 T& G 
看到这里,稍微会点代码的朋友就知道该怎么实现了。那么不用代码可以吗?其实也是可以的,下面我们用EXCEL来完成。 
+ K( T5 J  L+ A) @首先给大家推荐一款免费的EXCEL插件http://seotoolsforexcel.com/,下载,安装,这个插件有很多SEO方面的功能,我们这里使用它来解析JSON数据。 
5 T3 B: l# X! j, e我们将数据导入到EXCEL,第一列为Facebook UID, 
( h8 Q5 Z" |6 m, a8 M# v然后在第二列输入公式, =”http://graph.facebook.com/”&A1! S6 D" j4 h0 Q1 N/ ~, a) ]* u 
 得到请求用户详细信息地址,   
" W0 d. F. }9 L5 S$ `第三列输入公式: =JsonPathOnUrl(B1, “username”) 得到Facebook username  
, L' J1 H0 E; l' T- ^- V( {2 |: |7 J& f) L) L  K 
最后第四列输入公式: =C1&”@facebook.com” 获得Facebook邮箱如下:   
0 V6 x) W$ x$ r  ]这篇文章告诉你 :最后你可以给用户发邮箱,用UID做广告让你更省钱 
" p5 i5 o$ N+ E- V) \* a7 o更多的使用思路请自己琢磨。 这篇文章转发出来,可能会有许许多多的人会跟踪模仿,但是也有很多人是无法模仿。我只希望我们贡献的每一篇文章都是很有价值,很用心去写的,也是花了很多时间去写的,如果你要吱吱咋咋,我希望你用心去体会下每一篇文章背后花的心血有多大。到最后,感谢leon,再次感谢空空的无私,感谢他的支持,感谢他的伴随。希望我们都越来越好。这是一篇推广人看了都怕泄露的文章。  
  t/ T5 }# H4 @  _$ ] |