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