0

我想统计一个朋友使用Python来喜欢用户的文章的次数。使用Python + Facebook计算在Facebook上发表的文章Like API

我已经成功提取喜欢帖子的朋友的名字。但有些帖子根本没有任何相似之处。该代码给出了一个错误。我正在使用facebook-sdk 1.0.0。任何帮助将非常感激。 代码片段:

import facebook 
graph=facebook.GraphAPI(access_token="") 
posts=graph.get_connections(id="me",connection_name="posts") 
for w in range (0,5): 
    p1=posts['data'][w]['likes']['data'] 
    for i in range (0,len(p1)): 
     r=p1[i]['name'] 
     print(r) 

此外,有没有什么办法可以找出的朋友打在所有职位最高喜欢列表?

回答

0

我有点不确定你在这里错过了什么或者你的问题是什么,但是看起来你需要做的就是定义你想要查找的名字并计算它在你的代码中出现的次数。

事情是这样的:

import facebook 

likes = 0 # How many times they likes on your posts 
friend = "Bob" # Your friends name 

graph=facebook.GraphAPI(access_token="") 
posts=graph.get_connections(id="me",connection_name="posts") 
for w in range (0,5): 
    p1=posts['data'][w]['likes']['data'] 
    for i in range (0,len(p1)): 
     if friend == p1[i]['name'] 
      likes += 1 
print likes 

此外,您可以显着,如果你抛弃了范围为您的for循环,而是遍历数据结构本身清理你的代码。像这样的东西会工作:

import facebook 

likes = 0 # How many times they likes on your posts 
friend = "Bob" # Your friends name 

graph=facebook.GraphAPI(access_token="") 
posts=graph.get_connections(id="me",connection_name="posts") 

for user_post in posts['data']: 
    for name in user_post['likes']['data']: 
     if friend == name['name'] 
      likes += 1 
+0

感谢名单..我想指望用户的帖子喜好用户的每一个朋友,而不是一个变量静态船名,提出了一些其他的方式,使数为每个朋友可以确定 – shivleen

+0

而不是检查一个朋友,保留一个字典与朋友的名字作为关键。每当你找到一个名字,检查它是否存在。如果是这样,请将值增加1。如果名称不存在,请使用名称和值为1来初始化密钥。然后,您可以打印出字典中的所有键和值,以获得关于帖子的喜欢的完整分类。 – Kush131

+0

我已尝试在列表中添加好友名称,但面临错误追踪(最近呼叫最后一次): 文件“C:\ Users \ hp- \ Downloads \ file1.py”,第33行,在 if( (0,len(posts ['data'])): 尝试: p1 = posts []比较名[y])==(likename [x])): IndexError:列表索引超出范围 – shivleen