使用Python的Facebook API。如何打印所有帖子的评论?

时间:2015-06-18 04:55:03

标签: python facebook api python-2.7 facebook-graph-api

我是Facebook API新手。目前,我正在尝试打印出这个名为“leehsienloong”的Facebook页面发布的所有评论。但是,我只能打印出700多条评论。我相信总共有超过700条评论。

我发现问题是,我没有要求去另一个页面打印出评论。我读过有关分页Facebook API的内容,但我仍然不明白如何进行分页代码。

有没有人可以帮助/协助我?我真的需要帮助。谢谢。

这是我的代码,没有分页:

import facebook    #sudo pip install facebook-sdk
import itertools
import json
import re
import requests

access_token = "XXX"
user = 'leehsienloong'

graph = facebook.GraphAPI(access_token)
profile = graph.get_object(user)
posts = graph.get_connections(profile['id'], 'posts')

Jstr = json.dumps(posts)
JDict = json.loads(Jstr)

count = 0
for i in JDict['data']:
    allID = i['id']
    try:
        allComments = i['comments']

        for a in allComments['data']:  
            count += 1
            print a['message']


    except (UnicodeEncodeError):
        pass


print count

2 个答案:

答案 0 :(得分:2)

您可以使用limit参数来增加要提取的注释数。默认值为25.您可以像这样增加它:

posts = graph.get_connections(profile['id'], 'posts', limit=100)

但更方便的方法是从previous获取nextpaging页面并执行多个请求。

答案 1 :(得分:0)

要获取帖子的所有评论,逻辑应该类似于

network_mode: host